1.21.2010

CeDebugX

msdn 有寫 cedebugx60.dll 在
C:\Program Files\Microsoft Platform Builder\6.00\cepb\bin\Extensions

可以用 platform buidler (in VS2005 mode) 的 load extension load 進來。

貼一下 help:

Error resolving expression <{,,kernel.dll}g_pprcNK->dwId>
ERROR in ReadStruct, can't read {,,kernel.dll}g_pprcNK->dwId

Unable to resolve NK.EXE symbols.

Is the debugger in a break state?

If not, you must first break into the debugger before attempting to use
debugger extension commands.

If so, make sure that valid symbols are loaded.


CEDEBUGX

File Version : 6.00.2217.1
Product Version : 6.00.2217.1


COMMANDS:

To see detailed help type the command followed by /?

Extension Information and Control:

help - display this list
version - display version information for this extension
refresh - refresh cached info (must call after any run/break cycle).
xml - capture debug info in an xml file and display formatted data.
save - prompts the user for a location in which to save all files generated in the session.
getworkingpath - display the path to the debugger extension's current working folder.
setworkingpath - specify a path to use as a new destination for saved files (working folder)

General Information:

exception - exception info and current call stack
kinfo - prints the UserKInfo table
toc - prints ROM table of contents
oat - prints OEM Address Table
disasm - retrieve disassembly for a given address
getsym - list nearest symbol at addr
checksymbols - validate that correct symbols are in use.
dd - dump data at given address
ll - prints linked lists generically
expr - evaluate an expression
getsizeof - get the size, in bytes, of a type or expression
d2x - convert a decimal integer to a hex value.
x2i - convert a hex value to a singed integer.
x2u - convert a hex value to an unsigned integer.
ms2t - display a value in milliseconds as hours, minutes, and seconds.

Diagnostics:

diagnose - provide detailed information about hangs or crashes

Threads:

thread - prints thread information from thread ptr
threadh - prints thread information from thread handle
threadlist - enumerate all threads (basic info). use "threadlist ?" for more options
allthreads - enumerate all threads (extended info)
runlist - enumerate threads on the scheduler's run list.
sleeplist - enumerate threads on the scheduler's sleep list.
context - print context information for a given thread.
stackeval - prints all values on a thread's stack, looking for potential symbols and known objects
stacktrace - prints stack ptr and frame ptrs with PC and ret addr for a given thread

Processes and Modules:

proc - prints process information
proclist - lists all processes
module - prints module information
modlist - lists all loaded modules

Handles:

handlelist - prints active handle list
handle - evaluates a handle to determine type
h2p - get kernel object ptr from a handle
p2h - get a handle from a kernel object ptr

Blocked Threads:

proxy - prints detailed information about a particular proxy (i.e. blocking object)
proxylist - lists all of the proxies in the system or owned by a particualr process
blocked - prints list of blocking objects (proxies) and the threads they are blocking
cslist - prints a list of critical sections that are currently blocking threads
eventlist - prints a list of events that are currently blocking threads
sending - prints a list of threads blocked in SendMessage calls

Memory:

heaplist - prints summary information about all heaps in the system
heapwalk - print extended heap information
walkthisheap - print heap information for specific heap
meminfo - prints system memory information
heapitem - finds a heap item spanning an address and dumps item contents
dumpitem - prints contents of a heap item
valist - prints virtual allocations associated with a process
fsmaplist - prints summary information about all memory-mapped files
fsmap - prints information about a memory-mapped file
fsviewlist - prints summary information about all memory-mapped views
fsview - prints information about a memory-mapped view
pgpool - prints information about the page pools

GWES:

win - enumerate all windows (use it without arguments for more options)
winh - prints the window information for a handle (can use p|c|n|d|a) for navigation
gditable - enumerate all GDI entries
gdih - prints the information of the GDI entity related to the provided handle
gdiobj - prints the information of the GDI entity related to the provided gdi object
screenshot - creates and shows a screenshot of the current UI state of the device
msgqueues - lists active message queues



allthreads 功能真強大.. 會列出所有 thread 的 runstate 和 call stack。

配上 runlist - 列出 scheduler 的 runlist ,可以看出哪個 thread 太糟糕,站住cpu time.

沒有留言: