[Lldb-commits] [PATCH] D14591: Implement register context for mini dump debugging

Adrian McCarthy via lldb-commits lldb-commits at lists.llvm.org
Wed Nov 11 14:55:18 PST 2015


amccarth created this revision.
amccarth added a reviewer: zturner.
amccarth added a subscriber: lldb-commits.

The old RegisterContextWinMiniDump stub is replaced with x86 and x64 implementations that derive from the common windows register contexts.

ProcessWindowsMiniDump grabs the WinAPI CONTEXT for each thread and stashes it in the thread object when building the thread list.  The threads create the register context, stuffing in the saved CONTEXT.

New test ensures we can see the stack and registers for the (single) frame in the fizzbuzz minidump.  (No variables or function names, since that inferior doesn't have DWARF information.)

You might also notice that I remove the thread names for MiniDump threads.  Thread names are unavailable when port-mortem debugging Windows apps (since naming the thread requires having the debugger catch a special exception raised while the inferior is running).

http://reviews.llvm.org/D14591

Files:
  packages/Python/lldbsuite/test/functionalities/postmortem/minidump/TestMiniDump.py
  source/Plugins/Process/Windows/Common/RegisterContextWindows.h
  source/Plugins/Process/Windows/Common/x86/RegisterContextWindows_x86.cpp
  source/Plugins/Process/Windows/Common/x86/RegisterContextWindows_x86.h
  source/Plugins/Process/Windows/Live/x86/RegisterContextWindowsLive_x86.cpp
  source/Plugins/Process/Windows/Live/x86/RegisterContextWindowsLive_x86.h
  source/Plugins/Process/Windows/MiniDump/CMakeLists.txt
  source/Plugins/Process/Windows/MiniDump/ProcessWinMiniDump.cpp
  source/Plugins/Process/Windows/MiniDump/RegisterContextWindowsMiniDump.cpp
  source/Plugins/Process/Windows/MiniDump/RegisterContextWindowsMiniDump.h
  source/Plugins/Process/Windows/MiniDump/ThreadWinMiniDump.cpp
  source/Plugins/Process/Windows/MiniDump/ThreadWinMiniDump.h
  source/Plugins/Process/Windows/MiniDump/x64/RegisterContextWindowsMiniDump_x64.cpp
  source/Plugins/Process/Windows/MiniDump/x64/RegisterContextWindowsMiniDump_x64.h
  source/Plugins/Process/Windows/MiniDump/x86/RegisterContextWindowsMiniDump_x86.cpp
  source/Plugins/Process/Windows/MiniDump/x86/RegisterContextWindowsMiniDump_x86.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D14591.39978.patch
Type: text/x-patch
Size: 25789 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20151111/7bf176cf/attachment-0001.bin>


More information about the lldb-commits mailing list