WINDBG NOT FOR THE FAINTHEARTED AUDIENCE API DEVELOPERS
WINDBG NOT FOR THE FAINT-HEARTED
AUDIENCE API DEVELOPERS, OPERATION GOAL GIVEN A MEMORY DUMP THEN I WANT TO KNOW WHAT HAPPENED Questions? KEEP THEM TO YOURSELF
HOW TO WRITE A MEMORY DUMP • • • NOT POSSIBLE ON APP SERVICE
COLLECT THE EVIDENCE • THIS IS WHERE MOST PEOPLE GET STUCK
RUNTIME • • DATA ACCESS COMPONENT • DEBUGGING EXTENSION • BITNESS (X 86 VS X 64) • . NET FRAMEWORK VERSION (OR RATHERCLR VERSION)
SYMBOLS (PDBS) • • * * • • • DEBUGGING WITHOUT SYMBOLS IS NOT FUN
CONFIGURE WINDBG • SYMBOLS • • COPY PDBS •
LOAD THE MEMORY DUMP
LOAD SOS. DLL AND MSCORDACWKS. DLL • • •
EXTENSIONS • • •
DIAGNOSE WITH WINDBG? • • •
CRASHES - CONSOLE APP, WORKER. . . SYMPTOMS • • •
HANG - ASP. NET 1/3 SYMPTOMS • • • !MEX. RUNAWAY 2 • !MEX. MTHREADS • !SOS. SYNCBLK
HANG - ASP. NET 2/3 • !MEX. ASPXPAGESEXT • !MEX. US • ~<THREAD-ID>E !SOSCLRS. TACK NO
HANG - ASP. NET 3/3 DON’T BLOCK ON ASYNC CODE
MEMORY LEAK 1/2 SYMPTOMS • YOU CAN LEAK MANAGED MEMORY
MEMORY LEAK 2/2 • !SOS. DUMPHEAP –STAT • !GCROOT <ADDRESS> ALWAYS
TOOLS (FREE) • STORE DEVELOPMENT KIT • SOSEX • MEX • DEBUGDIAG • PERFVIEW • PROCDUMP WINDOWS
TOOLS (PAID) • DOTMEMORY DOTTRACE • ANTS PERFORMANCE PROFILER R# ULTIMATE
RESOURCES • MY GUIDE •
THANK YOU • HARD
- Slides: 21