Pregunta

He leído a través de los documentos y utiliza los comandos descritos sin embargo, por alguna razón yo no parece que esté recibiendo ningún símbolo, sólo una serie de "desconocidos" en la columna de la función de la tabla de resumen para todo excepto el conjunto superior de la aplicación yo estaba tratando de depurar .... me puse la variable ambiental en el servidor de microsoft y los direcories containg los de AP para la aplicación. También se aseguró para seleccionar el elemento "Símbolos de carga" antes de traer a la tabla de resumen.

Arcording a la información que estaba leyendo que debe tomar algún tiempo para el tabl para mostrar mientras se carga los símbolos, sin embargo para mí la tabla aparece casi al instante y sólo los mejores mayoría de los artículos en sprite.exe-> sprite.exe Had nombres de función, las filas othe para la función estaban en blanco o "desconocido"

Im usando Vista SP1.

Este es el archivo por lotes que he usado. ¿Hice algo que evitaría que los sybols están cargando?

REM start profiler
xperf -on PROC_THREAD+LOADER+INTERRUPT+DPC+PROFILE^
 -stackwalk profile -minbuffers 16 -maxbuffers 1024 -flushtimer 0^
 -f tmp.etl
REM run the app we want to profile
sprite.exe
REM stop
xperf -d profile.etl
REM set symbol path
set _NT_SYMBOL_PATH = ^
 C:\Projects\C++\fl lib\bin;^ REM dlls
 C:\Projects\C++\fl lib\samples\bin;^ REM main exe
 SRV*c:\symbols*http://msdl.microsoft.com/download/symbols
REM display profile
xperf profile.etl
¿Fue útil?

Solución

¿Qué versión de dbghelp.dll se lo utiliza? He tenido problemas para conseguir símbolos PDB que trabajan con kernrate y otros servicios públicos cuando se utiliza la versión de dbghelp.dll que se instala en %SystemRoot%\system32.

Es posible que tenga que copiar y dbghelp.dll symsrv.dll de una versión reciente de las herramientas de depuración para Windows en un directorio donde XPerf pueda encontrarlo.

Además, es necesario para eliminar el espacio antes de que el '=', o de lo contrario se está definiendo la variable "_NT_SYMBOL_PATH" (incluyendo el espacio final en el nombre).

comentarios incluso en el final de una línea no va a funcionar bien. Un carácter de continuación de línea, tales como '^' normalmente tiene que ser el último carácter de la línea. Cuando me encontré con esa declaración (en XP), que terminó con "_NT_SYMBOL_PATH" igual a "C:\Projects\C++\fl lib\bin; REM dlls" y un error acerca de la siguiente línea.

Otros consejos

Trate de establecer la

TRACE_FORMAT_SEARCH_PATH

variable de entorno. Si eso no funciona, puede que tenga que extraer manualmente los archivos TMF de sus PDB utilizando TracePdb.exe (o al menos utilizar una ruta regular en vez de una ruta * MJS). Esto es, con mucho, la parte más molesta de la utilización de trazas ETL / XPerf

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top