llvm-project/lldb
Adrian McCarthy 479f5bfdb0 [LLDB] Improve PDB discovery
When loading a PE/COFF target, the associated PDB file often wasn't
found.  The executable module contains a path for the associated PDB
file, but people often debug from a different directory than the one
their build system uses.  (This is especially common in post-mortem
and cross platform debugging.)

Suppose the COFF executable being debugged is `~/proj/foo.exe`, but
it was built elsewhere and refers to `D:\remote\build\env\foobar.pdb`,
LLDB wouldn't find it.

With this change, if no file exists at the PDB path, LLDB will look
in the executable directory for a PDB file that matches the name of
the one it expected (e.g., `~/proj/foobar.pdb`).  If found, the PDB
is subject to the same matching criteria (GUIDs and age) as would
have been used had it been in the original location.

This same-directory-as-the-binary rule is commonly used by debuggers
on Windows.

Differential Review: https://reviews.llvm.org/D84815
2020-08-11 13:44:14 -07:00
..
bindings [lldb/CMake] Separate CMake code for Lua and Python (NFC) 2020-08-11 09:04:18 -07:00
cmake Revert "[CMake] Simplify CMake handling for zlib" 2020-08-08 17:08:23 -07:00
docs [lldb/CMake] Separate CMake code for Lua and Python (NFC) 2020-08-11 09:04:18 -07:00
examples Harmonize Python shebang 2020-07-16 21:53:45 +02:00
include/lldb [lldb] watchpoint ID common completion for commands `watchpoint delete/enable/disable/modify/ignore` 2020-08-11 14:25:09 +02:00
packages/Python [LLDB] Fix timeout value on expect_gdbremote_sequence 2020-08-08 23:57:08 +05:00
resources
scripts Harmonize Python shebang 2020-07-16 21:53:45 +02:00
source [LLDB] Improve PDB discovery 2020-08-11 13:44:14 -07:00
test [LLDB] Improve PDB discovery 2020-08-11 13:44:14 -07:00
third_party/Python/module Revert "[lldb] temporary commit to see why a test is failing only on lldb-aarch64-ubuntu" 2020-08-05 11:55:02 +02:00
tools [lldb] Enable inheriting TCC permissions in lldb-test 2020-08-11 11:37:14 -07:00
unittests [cmake] Make gtest macro definitions a part the library interface 2020-08-11 15:22:44 +02:00
utils [lldb/Test] Fix missing yaml2obj in Xcode standalone build. 2020-07-10 21:34:56 -07:00
.clang-format
.clang-tidy [lldb] Add .clang-tidy with customization to disable readability-identifier-naming 2020-03-09 12:50:28 -07:00
.gitignore Add .noindex to the gitignore 2019-04-05 17:57:42 +00:00
CMakeLists.txt [lldb/CMake] Separate CMake code for Lua and Python (NFC) 2020-08-11 09:04:18 -07:00
CODE_OWNERS.txt [lldb][NFC] Cleanup mentions and code related to lldb-mi 2019-07-19 15:55:23 +00:00
LICENSE.TXT
use_lldb_suite_root.py