4.02.2010

more on celog - ref


CELZONE_ALWAYSON 0x40000000
CELZONE_BOOT_TIME 0x00010000
CELZONE_CRITSECT 0x00000100
CELZONE_DEBUG 0x00800000
CELZONE_HEAP 0x00000800
CELZONE_INTERRUPT 0x00000001
CELZONE_LOADER 0x00004000
CELZONE_SYNCH 0x00000200
===============================
0x40814901

CE 6.0 Preparation KIT 說:
NOTE Improving reference naming matching
The CeLog event-tracking system can take advantage of the kernel profiler to look up thread
function names based on start addresses when capturing CreateThread events, if you explicitly
enable the kernel profiler and add profiling symbols to the run-time image by rebuilding the
image with the IMGPROFILER environment variable set. However, CeLog can only look up the
profiling symbols built into the run-time image. Symbols of applications developed based on a
Software Development Kit (SDK) are generally unavailable to the CeLog event-tracking system.

也就是說勾選 PROFILING 就可用 fixthreads 列出 thread function name.

這一篇 http://blogs.msdn.com/ce_base/archive/2006/06/14/Thread-names-and-CeLog.aspx
也說使用 PROFILE 可以列出 thread name,
但是又說有 MAP 的話,可以用 -fixthread 或 -v 加入 thread name information

kernel tracker 的應用: 這一篇 Lock Convoys and How to Recognize Them 說明用 celog file 和 kernel tracker 找出 Lock Convoys 的狀況

用 readlog 作轉換。

沒有留言: