Kayaker
January 31st, 2004, 01:37
Here are some very nice articles with diagrams which were created by a Numega programmer (Tsuyoshi Watanabe) detailing some useful SoftIce commands. They no longer exist on the original site so I have reformatted them slightly and attach them here for archive purposes. The diagrams themselves are extremely instructive explanations of the output from some of the more complex Softice commands. Some may recognize these articles from the Spiralspace website originally. I hope they prove useful for those who have never seen them.
How Windows NT uses GDT to implement "kernel mode" and "user mode" (GDT)
Where is the memory block you just allocated with Win32 API HeapAlloc()? (HEAP 32)
Create your own heap in your process and see it with SoftICE (HEAP 32)
Interrupt Descriptor Table and SoftICE "IDT" command (IDT)
Program modules (EXE, DLL) and SoftICE "QUERY" command (QUERY)
Walking "page directory" with SoftICE - understanding "address context" (CPU, ADDR, PAGE, PHYS)
Two ways to cause "page fault" situations, and how SoftICE reports it (PAGE)
How to access objects in various sections of a PE file with SoftICE (MAP32, SYM)
"Symbol Table" - the most important thing for source level debugging with SoftICE (TABLE, MOD, SYM)
SoftICE uses symbolic names to label memory object if symbol table is loaded (TABLE, FILE, TYPES)
How Windows NT uses GDT to implement "kernel mode" and "user mode" (GDT)
Where is the memory block you just allocated with Win32 API HeapAlloc()? (HEAP 32)
Create your own heap in your process and see it with SoftICE (HEAP 32)
Interrupt Descriptor Table and SoftICE "IDT" command (IDT)
Program modules (EXE, DLL) and SoftICE "QUERY" command (QUERY)
Walking "page directory" with SoftICE - understanding "address context" (CPU, ADDR, PAGE, PHYS)
Two ways to cause "page fault" situations, and how SoftICE reports it (PAGE)
How to access objects in various sections of a PE file with SoftICE (MAP32, SYM)
"Symbol Table" - the most important thing for source level debugging with SoftICE (TABLE, MOD, SYM)
SoftICE uses symbolic names to label memory object if symbol table is loaded (TABLE, FILE, TYPES)