summaryrefslogtreecommitdiff
path: root/src/ToolBox/SOS/Strike/platformspecific.h
diff options
context:
space:
mode:
authorMike McLaughlin <mikem@microsoft.com>2016-02-20 00:27:33 -0800
committerMike McLaughlin <mikem@microsoft.com>2016-02-25 15:54:25 -0800
commit266ee6dc6d688ec973acfee2e30d61877cd288be (patch)
tree775844e5932c1311052e02abe63d2a983286be80 /src/ToolBox/SOS/Strike/platformspecific.h
parentd7f2265ca022f780a632918ae642fb4d3986064e (diff)
downloadcoreclr-266ee6dc6d688ec973acfee2e30d61877cd288be.tar.gz
coreclr-266ee6dc6d688ec973acfee2e30d61877cd288be.tar.bz2
coreclr-266ee6dc6d688ec973acfee2e30d61877cd288be.zip
Create a version resilient interface between sos (libsos.so) and the lldb plugin
(libsosplugin.so). There is a ILLDBServices interface between the two with a proper QI/Addref/Release interface so we can add new interfaces later and still be backwards and forward compatible. Internally in sos there is a DebugClient wrapper around this interface that makes it look like all the individual dbgeng interfaces (IDebugControl4, IDebugSymbols, IDebugDataSpaces, etc) even with QI, etc. Enable the sos the u (clru), DumpStack (dumpstack), EEStack (eestack), DumpIL (dumpil), DumpSig and DumpSigElem commands (aliases in parans). Add the clrstack -f option that displays the intermixed native and managed frames when managed assembly and offsets. Implement GetContextFromFrame. Enable the _EFN_* exported functions. Add source file/line number support (native only) via GetLineByOffset. Fix bug when executed just "sos". Displays help now. Disable the U -gcinfo option since it isn't implemented on xplat because it uses Windows fibers. Fixed a problem where some HelperMethodFrames were not unwinding; clrstack would stop without displaying managed functions on the stack. The HelperMethodFrames were not sometimes unwinding because the lldb VirtualUnwind used by the DAC was using (via the data target) to do the out of context unwind has some limitations. lldb doesn't have a way to unwind an arbitrary register context so the VirtualUnwind implementation searches through the thread's frames until it finds a match and returns the next one. The match was an exact match and in some cases it didn't find a frame. Changed it to check if the incoming context's SP is in between frames and return the next one if so. Only add the special internal "corerun" lldb plugin command in debug builds.
Diffstat (limited to 'src/ToolBox/SOS/Strike/platformspecific.h')
-rw-r--r--src/ToolBox/SOS/Strike/platformspecific.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/ToolBox/SOS/Strike/platformspecific.h b/src/ToolBox/SOS/Strike/platformspecific.h
index 12f8f5e2a4..d79a46055e 100644
--- a/src/ToolBox/SOS/Strike/platformspecific.h
+++ b/src/ToolBox/SOS/Strike/platformspecific.h
@@ -14,7 +14,7 @@
#define __PLATFORM_SPECIFIC_INCLUDED
// The main debugger code already has target platform definitions for CONTEXT.
-#include "../../../../debug/inc/dbgtargetcontext.h"
+#include "../../../debug/inc/dbgtargetcontext.h"
#ifndef FEATURE_PAL