mp3tag - mp3 tag linux
Cualquier forma de especificar la ubicaciĆ³n de los datos de perfil (4)
Se ejecuta el archivo predeterminado del archivo de perfil desde el archivo ejecutable y el archivo se llama gmon.out
. ¿Hay alguna forma de especificar una nueva ubicación?
Estoy usando gcc 3.4.6 en i386 / linux2.6
Para dar un nombre de archivo diferente a gprof:
gprof a.out gprof-foo.out
En cuanto a cambiarles el nombre, configure la variable de entorno GMON_OUT_PREFIX. Encontré este por good ol ''objdump on libc .... Naturalmente, los documentos libc no dicen nada.
La solución de jscoot funcionó para mí. pero la configuración de GMON_OUT_PREFIX es importante en el momento de la ejecución, no en el tiempo de compilación.
Encontré el mismo problema la semana pasada y lo resolví de la siguiente manera. La idea aquí es cambiar el directorio actual del proceso a donde desee generar el archivo gmon.out. el nombre del archivo no se puede cambiar de esta manera. Le permite cambiar dónde puede guardar el archivo.
#ifdef GPROF
/* so we can gprof */
if (1) {
char tmpdir[32];
snprintf(tmpdir, 32, "/tmp/%05d", mypid);
mkdir(tmpdir, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);
chdir(tmpdir);
}
#endif
Demasiado mal, la variable de entorno GMON_OUT_PREFIX
no está documentada en glibc. Obtuve la siguiente información de la web y la probé en mi máquina.
si configura la variable de entorno GMON_OUT_PREFIX
, el archivo de salida se llama ${GMON_OUT_PREFIX}.[PID]
, el pid es la identificación del proceso perfilado.
Por ejemplo:
GMON_OUT_PREFIX=mygmon; gcc -o foo -pg foo.c
el archivo de salida es: mygmon.12345
, suponiendo que el proceso de foo id = 12345.