how to get the address for saved context for the managed code in the 64 bit processor by such as .cxr RRS feed

  • Question

  • It is possible that the callstack at the time the exception was thrown is different from the callstack getting by running the ~*e !clrstack/~*k, so how to get the exactly exception callstack ?

    If it it x86 unmanned code, I can use the tips "s -d esp L1000 1003f" mentioned in the following article, but my case is x64 manned code, I even can't find the ntdll!KiUserExceptionDispatcher in any of the callstack, any idea or reference is very appreciate.

    Please click the Mark as Answer button if a post solves your problem!

    Monday, February 2, 2015 12:00 PM

All replies

  • Hey Michael, so what I'm reading is you're looking for the managed exception on the stack and it looks like you're using the managed debugging tools. In that case I would use !PrintException (!pe) to dump the managed exception that is on the stack.

    Monday, March 23, 2015 1:26 PM
  • I agree with James if you're looking for the most recent exception or want to print a specific exception.  You can also use DumpHeap to filter out all exception objects currently in memory and DumpStackObjects to list any exception objcets present in the stack on the current thread if you're probing for exceptions.  The /d option, which provides DML output, works with many SOS commands as well and makes browsing through objects quicker.

    WinSDK Support Team Blog:

    Monday, March 23, 2015 5:13 PM