diff options
author | Mike McLaughlin <mikem@microsoft.com> | 2015-10-15 18:35:55 -0700 |
---|---|---|
committer | Mike McLaughlin <mikem@microsoft.com> | 2015-11-03 18:21:06 -0800 |
commit | a5bcc44a468fab8699633d70a2394d6e565ece23 (patch) | |
tree | cfb4507f57dbe5cf66c9396d5c6e73c2dfac04bd /src/debug/di/shimdatatarget.h | |
parent | 31f2ee6ddb71e6ece2895fb9820c9d2923c4a343 (diff) | |
download | coreclr-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.h | 7 |
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. |