summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorMike McLaughlin <mikem@microsoft.com>2015-11-19 18:13:25 -0800
committerMike McLaughlin <mikem@microsoft.com>2015-12-02 16:07:18 -0800
commitaa78a2773ffe573c705caa11dd66467ae6c82781 (patch)
tree8da63f171dcf97bbdb796a3b961d53b40be00d65 /Documentation
parentb3a45c0a4db6989f9ba6e4cc9db849d0558e961f (diff)
downloadcoreclr-aa78a2773ffe573c705caa11dd66467ae6c82781.tar.gz
coreclr-aa78a2773ffe573c705caa11dd66467ae6c82781.tar.bz2
coreclr-aa78a2773ffe573c705caa11dd66467ae6c82781.zip
Some SOS fixes/cleanup (bpmd, setclrpath, setsostid).
Enable the module load notification when no module or methods are found. setclrpath/setsostid print the current path/tid if no arguments. "setsostid -clear" now clears the tid/os id mapping. Added better exception hook to sos plugin to catch special CLRN exception. Before multiple lldb "Exception breakpoints" where set each time bpmd added a new bp. Added a "DoNotDeleteOrDisable" message to the exception breakpoint created. Fix bpmd on release builds. RtlpRaiseException was being inlined and the ExceptionRecord parameter was being optimized away causing the GetLastEventInformation api to failed and the special CLRN exception to be ignored. Add sos help support. "soshelp" displays help about a command.
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/building/debugging-instructions.md21
1 files changed, 20 insertions, 1 deletions
diff --git a/Documentation/building/debugging-instructions.md b/Documentation/building/debugging-instructions.md
index 290e061c55..f45bce33c4 100644
--- a/Documentation/building/debugging-instructions.md
+++ b/Documentation/building/debugging-instructions.md
@@ -62,6 +62,7 @@ SOS commands supported by the lldb plugin:
FindAppDomain
GCRoot
GCInfo
+ Help
IP2MD
Name2EE
PrintException
@@ -76,12 +77,30 @@ There are some aliases for the most common commands:
clrstack -> sos ClrStack
clrthreads -> sos Threads
dumpheap -> sos DumpHeap
+ dumplog -> sos DumpLog
+ dumpmd -> sos DumpMD
+ dumpmt -> sos DumpMT
dumpobj -> sos DumpObj
dso -> sos DumpStackObjects
eeheap -> sos EEHeap
gcroot -> sos GCRoot
ip2md -> sos IP2MD
- printexception -> sos PrintException
+ name2ee -> sos Name2EE
+ pe -> sos PrintException
+ soshelp -> sos Help
+
+Problems and limitations of lldb and sos:
+
+Many of the sos commands like clrstack or dso don't work on core dumps because lldb doesn't
+return the actual OS thread id for a native thread. The "setsostid" command can be used to work
+around this lldb bug. Use the "clrthreads" to find the os tid and the lldb command "thread list"
+to find the thread index (#1 for example) for the current thread (* in first column). The first
+setsostid argument is the os tid and the second is the thread index: "setsosid ecd5 1".
+
+The "gcroot" command either crashes lldb 3.6 or returns invalid results. Works fine with lldb 3.7.
+
+Loading Linux core dumps with lldb 3.7 doesn't work. lldb 3.7 loads OSX and FreeBSD core dumps
+just fine.
For more information on SOS commands see: https://msdn.microsoft.com/en-us/library/bb190764(v=vs.110).aspx