[all-commits] [llvm/llvm-project] 9ea6dd: Add a corefile style option to process save-core; ...

Jason Molenda via All-commits all-commits at lists.llvm.org
Sun Jun 20 12:27:12 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9ea6dd5cfac0b233fbb148c1e2d0f81f816737c8
      https://github.com/llvm/llvm-project/commit/9ea6dd5cfac0b233fbb148c1e2d0f81f816737c8
  Author: Jason Molenda <jason at molenda.com>
  Date:   2021-06-20 (Sun, 20 Jun 2021)

  Changed paths:
    M lldb/bindings/interface/SBMemoryRegionInfo.i
    M lldb/docs/lldb-gdb-remote.txt
    M lldb/include/lldb/API/SBMemoryRegionInfo.h
    M lldb/include/lldb/Core/PluginManager.h
    M lldb/include/lldb/Symbol/ObjectFile.h
    M lldb/include/lldb/Target/MemoryRegionInfo.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/include/lldb/lldb-private-interfaces.h
    M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
    M lldb/source/API/SBMemoryRegionInfo.cpp
    M lldb/source/API/SBProcess.cpp
    M lldb/source/Commands/CommandObjectMemory.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Commands/Options.td
    M lldb/source/Core/PluginManager.cpp
    M lldb/source/Interpreter/CommandObject.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
    M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
    M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
    M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
    A lldb/test/API/functionalities/gdb_remote_client/TestMemoryRegionDirtyPages.py
    M lldb/test/API/functionalities/gdb_remote_client/gdbclientutils.py
    A lldb/test/API/macosx/skinny-corefile/Makefile
    A lldb/test/API/macosx/skinny-corefile/TestSkinnyCorefile.py
    A lldb/test/API/macosx/skinny-corefile/main.c
    A lldb/test/API/macosx/skinny-corefile/present.c
    A lldb/test/API/macosx/skinny-corefile/present.h
    A lldb/test/API/macosx/skinny-corefile/to-be-removed.c
    A lldb/test/API/macosx/skinny-corefile/to-be-removed.h
    M lldb/test/API/tools/lldb-server/TestGdbRemoteHostInfo.py
    M lldb/tools/debugserver/source/DNBDefs.h
    M lldb/tools/debugserver/source/MacOSX/MachVMMemory.cpp
    M lldb/tools/debugserver/source/RNBRemote.cpp

  Log Message:
  -----------
  Add a corefile style option to process save-core; skinny corefiles

Add a new feature to process save-core on Darwin systems -- for
lldb to create a user process corefile with only the dirty (modified
memory) pages included.  All of the binaries that were used in the
corefile are assumed to still exist on the system for the duration
of the use of the corefile.  A new --style option to process save-core
is added, so a full corefile can be requested if portability across
systems, or across time, is needed for this corefile.

debugserver can now identify the dirty pages in a memory region
when queried with qMemoryRegionInfo, and the size of vm pages is
given in qHostInfo.

Create a new "all image infos" LC_NOTE for Mach-O which allows us
to describe all of the binaries that were loaded in the process --
load address, UUID, file path, segment load addresses, and optionally
whether code from the binary was executing on any thread.  The old
"read dyld_all_image_infos and then the in-memory Mach-O load
commands to get segment load addresses" no longer works when we
only have dirty memory.

rdar://69670807
Differential Revision: https://reviews.llvm.org/D88387




More information about the All-commits mailing list