[all-commits] [llvm/llvm-project] 27f27d: [lldb] Use ObjectFileJSON to create modules for in...

Jonas Devlieghere via All-commits all-commits at lists.llvm.org
Thu Apr 13 16:56:42 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 27f27d15f6c90b026eca23b8ee238fdbf772fd80
      https://github.com/llvm/llvm-project/commit/27f27d15f6c90b026eca23b8ee238fdbf772fd80
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2023-04-13 (Thu, 13 Apr 2023)

  Changed paths:
    M lldb/examples/python/crashlog.py
    M lldb/examples/python/scripted_process/crashlog_scripted_process.py
    M lldb/examples/python/symbolication.py
    M lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/interactive_crashlog/multithread-test.ips
    M lldb/test/Shell/ScriptInterpreter/Python/Crashlog/skipped_status_interactive_crashlog.test

  Log Message:
  -----------
  [lldb] Use ObjectFileJSON to create modules for interactive crashlogs

Create an artificial module using a JSON object file when we can't
locate the module and dSYM through dsymForUUID (or however
locate_module_and_debug_symbols is implemented). By parsing the symbols
from the crashlog and making them part of the JSON object file, LLDB can
symbolicate frames it otherwise wouldn't be able to, as there is no
module for it.

For non-interactive crashlogs, that never was a problem because we could
simply show the "pre-symbolicated" frame from the input. For interactive
crashlogs, we need a way to pass the symbol information to LLDB so that
it can symbolicate the frames, which is what motivated the JSON object
file format.

Differential revision: https://reviews.llvm.org/D148172




More information about the All-commits mailing list