linux console kcachegrind callgrind

linux - ¿Consola alternativa de kcachegrind?



console callgrind (5)

Kcachegrind mola y es una de mis herramientas favoritas, sin embargo, de vez en cuando me estoy perdiendo la capacidad de ejecutarlo en la terminal (por ejemplo, usando ssh) en el servidor remoto.

Sé que es posible configurar el reenvío VNC o X-server, pero es bastante torpe mientras necesito algo simple.

¿Hay alguna alternativa de consola kcachegrind (por ejemplo, basada en ncurses)?


Ejecutar Valgrind / Callgrind en el host remoto parece ser una buena opción. O bien, puede enviar la salida de Valgrind o Callgrind a su PC y ejecutar KCachegrind en ella.

Si usa Emacs, puede encenderlo en el host remoto y hacer lo que se muestra here , lo que le dará una interfaz de Emacs''ish para la herramienta valgrind.


Utilice SSHFS para montar el directorio remoto en el que está trabajando (consulte, por ejemplo , las instrucciones de instalación de SSHFS para Ubuntu ).

Luego simplemente ssh y ejecute valgrind --tool=callgrind con las opciones que desee en el directorio remoto. Ya que tiene ese directorio montado localmente, es tan fácil abrir los archivos de datos con KCacheGrind como si estuviera depurando localmente.


kcachegrind afirma en su ayuda que es un frontend para cachegrind y callgrind.

cachegrind y callgrind son parte de la última versión (3.5) de valgrind. Entonces, descargue valgrind de http://valgrind.org/downloads/current.html#current y compílelo. Ejecute valgrind --help, le muestra cómo usar la función callgrind.

Para más información necesito saber qué es lo que quieres hacer.


webgrind es una interfaz web escrita en PHP que analiza la salida de XDebug (que utiliza el mismo formato que callgrind), por lo que debería funcionar con la salida de callgrind (aunque todavía no la he probado).


Puede obtener información básica y anotaciones del archivo de salida de callgrind (creado por valgrind --tool=callgrind ) con la utilidad de línea de comandos callgrind_annotate . ( sección de la página de manual en documentos ). Para los archivos, generados por cachegrind ( valgrind --tool=cachegrind ), puede usar un cg_annotate ( sección en docs ). Estas utilidades se construyen de forma predeterminada con valgrind.

Otra forma es copiar los archivos de salida del programa y caché / callgrind a su máquina y luego analizarlos con kcachegrind local como de costumbre. Pero de esta manera, puede ser difícil si su máquina no tiene Unix sino Windows o si se ejecuta en un arco incompatible (kcachegrind puede llamar a objdump local para obtener información sobre el programa).

También quiero recomendar opciones de línea de comandos para valgrind:

valgrind --tool=cachegrind --branch-sim=yes valgrind --tool=callgrind --dump-instr=yes --trace-jump=yes

También puede especificar tamaños de caché para cachegrind con --I1=32768,8,64 --D1=32768,8,64 --L2=3145728,12,64