diff options
author | Mike McLaughlin <mikem@microsoft.com> | 2015-06-16 17:43:04 -0700 |
---|---|---|
committer | Mike McLaughlin <mikem@microsoft.com> | 2015-06-19 14:36:20 -0700 |
commit | ed78e1f8d1de2c3cf94c1e54e3e4ec17258eac2f (patch) | |
tree | 19e8424152fe387e193dd610a1304449ffbfbb5e /src/pal/src/exception/seh-unwind.cpp | |
parent | 646bcd7b284bf1b3f5659cb3392316154c084b68 (diff) | |
download | coreclr-ed78e1f8d1de2c3cf94c1e54e3e4ec17258eac2f.tar.gz coreclr-ed78e1f8d1de2c3cf94c1e54e3e4ec17258eac2f.tar.bz2 coreclr-ed78e1f8d1de2c3cf94c1e54e3e4ec17258eac2f.zip |
Enable bpmd command even unjitted functions work.
Preallocate JIT notification table on VM side (since ICLRDataTarget2->AllocVirtual isn't implemented under lldb) and implement WriteVirtual on debugger side to allow DAC to write entries.
Used the special set breakpoint on exception throw lldb command to catch the special exception the VM throws when some
thing is jitted. The debugger side finds the exception record by searching for the RtlpRaiseException function on the stack
when the bp is hit. It also assumes that the local variable is called ExceptionRecord.
Fix all the file path separators to use the platform independent defines.
Ifdef all the "/d" options in the supported commands because the / char isn't supported as a command line option and /d is always the DML option that isn't supported either.
Fix problem Prem run into running sos after the process stops.
Diffstat (limited to 'src/pal/src/exception/seh-unwind.cpp')
-rw-r--r-- | src/pal/src/exception/seh-unwind.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/pal/src/exception/seh-unwind.cpp b/src/pal/src/exception/seh-unwind.cpp index a6435a42f4..2e77814b9b 100644 --- a/src/pal/src/exception/seh-unwind.cpp +++ b/src/pal/src/exception/seh-unwind.cpp @@ -195,6 +195,18 @@ BOOL PAL_VirtualUnwind(CONTEXT *context, KNONVOLATILE_CONTEXT_POINTERS *contextP #error don't know how to unwind on this platform #endif +/*++ +Function: + RtlpRaiseException + +Parameters: + ExceptionRecord - the Windows exception record to throw + +Note: + The name of this function and the name of the ExceptionRecord + parameter is used in the sos lldb plugin code to read the exception + record. See coreclr\src\ToolBox\SOS\lldbplugin\debugclient.cpp. +--*/ PAL_NORETURN static void RtlpRaiseException(EXCEPTION_RECORD *ExceptionRecord) { |