summaryrefslogtreecommitdiff
path: root/src/debug/di/shimdatatarget.h
diff options
context:
space:
mode:
authorMike McLaughlin <mikem@microsoft.com>2015-10-15 18:35:55 -0700
committerMike McLaughlin <mikem@microsoft.com>2015-11-03 18:21:06 -0800
commita5bcc44a468fab8699633d70a2394d6e565ece23 (patch)
treecfb4507f57dbe5cf66c9396d5c6e73c2dfac04bd /src/debug/di/shimdatatarget.h
parent31f2ee6ddb71e6ece2895fb9820c9d2923c4a343 (diff)
downloadcoreclr-a5bcc44a468fab8699633d70a2394d6e565ece23.tar.gz
coreclr-a5bcc44a468fab8699633d70a2394d6e565ece23.tar.bz2
coreclr-a5bcc44a468fab8699633d70a2394d6e565ece23.zip
Fix sos clrstack unwinding for the special HelperMethodFrame.
Add and implement new ICorDebugDataTarget4 unwind interface using lldb stack unwinder ABIs. The implementation does a linear search of the native frames for the stack pointer provided. It doesn't happen often so the performance is fine. Stub out the DBI's ICorDebugDataTarget4 (in ShimDataTarget::VirtualUnwind) for now. Since PAL_VirtualUnwindOutOfProc is disabled it makes sense to just return E_NOTIMPL. Fix bpmd command so it doesn't stop in lldb when it isn't a CLRN exception (continues).
Diffstat (limited to 'src/debug/di/shimdatatarget.h')
-rw-r--r--src/debug/di/shimdatatarget.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/debug/di/shimdatatarget.h b/src/debug/di/shimdatatarget.h
index 9e3502bb48..145b30cde1 100644
--- a/src/debug/di/shimdatatarget.h
+++ b/src/debug/di/shimdatatarget.h
@@ -36,6 +36,9 @@ public:
// is unavailable because it's running
void SetError(HRESULT hr);
+ // Get the OS Process ID that this DataTarget is for.
+ DWORD GetPid();
+
//
// IUnknown.
//
@@ -86,8 +89,8 @@ public:
// ICorDebugDataTarget4
//
- // Get the OS Process ID that this DataTarget is for.
- virtual HRESULT STDMETHODCALLTYPE GetPid(DWORD *pdwProcessId);
+ // Unwind to the next stack frame
+ virtual HRESULT STDMETHODCALLTYPE VirtualUnwind(DWORD threadId, ULONG32 contextSize, PBYTE context);
protected:
// Pid of the target process.