SOSEX je jedno z mála rozšíření Windows Debuggeru pro .NET (managed code). Přidává pár užitečných příkazů k základnímu SOS, není však snadné seznam podporovaných příkazů online najít.
Seznam příkazů se dá získat přes !sosex.help
. Výstup se může hodit, pokud hledáte, která extension bude pro váš scénář diagnostiky nejpříhodnější.
0:000> !sosex.help SOSEX - Copyright 2007-2015 by Steve Johnson - http://www.stevestechspot.com/ To report bugs or offer feedback about SOSEX, please email sjjohnson@pobox.com Quick Ref: -------------------------------------------------- bhi [filename] BuildHeapIndex - Builds an index file for heap objects. bpsc (Deprecated. Use !mbp instead) chi ClearHeapIndex - Frees all resources used by the heap index and removes it from memory. dlk [-d] Displays deadlocks between SyncBlocks and/or ReaderWriterLocks dumpfd <FieldAddr> Dumps the properties of a FieldDef structure dumpgen <GenNum> [-free] [-stat] [-type <TYPE_NAME>] Dumps the contents of the specified generation [-nostrings] [-live] [-dead] [-short] finq [GenNum] [-stat] Displays objects in the finalization queue frq [-stat] Displays objects in the Freachable queue gcgen <ObjectAddr> Displays the GC generation of the specified object gch [HandleType]... [-stat] Lists all GCHandles, optionally filtered by specified handle types help [CommandName] Display this screen or details about the specified command lhi [filename] LoadHeapIndex - load the heap index into memory. mbc <SOSEX breakpoint ID | *> Clears the specified or all managed breakpoints mbd <SOSEX breakpoint ID | *> Disables the specified or all managed breakpoints mbe <SOSEX breakpoint ID | *> Enables the specified or all managed breakpoints mbl [SOSEX breakpoint ID] Prints the specified or all managed breakpoints mbm <Type/MethodFilter> [ILOffset] [Options] Sets a managed breakpoint on methods matching the specified filter mbp <SourceFile> <nLineNum> [ColNum] [Options] Sets a managed breakpoint at the specified source code location mdso [Options] Dumps object references on the stack and in CPU registers in the current context mdt [TypeName | VarName | MT] [ADDR] [Options] Displays the fields of an object or type, optionally recursively mdv [nFrameNum] Displays arguments and locals for a managed frame mfrag [-stat] [-mt:<MT>] Reports free blocks, the type of object following the free block, and fragmentation statistics mframe [nFrameNum] Displays or sets the current managed frame for the !mdt and !mdv commands mgu // TODO: Document mk [FrameCount] [-l] [-p] [-a] Prints a stack trace of managed and unmanaged frames mln [expression] Displays the type of managed data located at the specified address or the current instruction pointer mlocks [-d] Lists all managed lock objects and CriticalSections and their owning threads mroot <ObjectAddr> [-all] Displays GC roots for the specified object mt (no parameters) Steps into the managed method at the current position mu [address] [-s] [-il] [-n] Displays a disassembly around the current instruction with interleaved source, IL and asm code muf [MD Address | Code Address] [-s] [-il] [-n] Displays a disassembly with interleaved source, IL and asm code mwaits [-d | LockAddr] Lists all waiting threads and, if known, the locks they are waiting on mx <Filter String> Displays managed type/field/method names matching the specified filter string rcw [Object or SyncBlock Addr] Displays Runtime Callable Wrapper (RCW) COM interop data. refs <ObjectAddr> [-target|-source] Displays all references from and to the specified object rwlock [ObjectAddr | -d] Displays all RWLocks or, if provided a RWLock address, details of the specified lock sosexhelp [CommandName] Display this screen or details about the specified command strings [ModuleAddress] [Options] Search the managed heap or a module for strings matching the specified criteria ListGcHandles - See gch Use !help <command> or !sosexhelp <command> for more details about each command. You can also use the /? (or -?) option on any command to get help for that command.