Track .dwo/.dwp loading errors and notify user when viewing variables.
authorGreg Clayton <gclayton@fb.com>
Tue, 20 Sep 2022 02:43:10 +0000 (19:43 -0700)
committerGreg Clayton <gclayton@fb.com>
Thu, 22 Sep 2022 18:35:20 +0000 (11:35 -0700)
commitccb47b41e4936d1d44dfbaf5aac028280c216932
tree1ebb91594d98bb86a4b7bd9e120611b44821a012
parent33bc9c3bf2e09f15ea7be7bc090492fad8226b34
Track .dwo/.dwp loading errors and notify user when viewing variables.

When debugging using Fission (-gsplit-dwarf), we can sometimes have issues loading .dwo files if they are missing or if the path was relative and we were unable to locate the file. We can also skip loading due to DWO ID mismatch or if a .dwp file doesn't contain a matching .dwo file. Also .dwo files could be updated due to a recompile and if the user debugs an executable that was linked against the old .dwo file, it could fail to load the information.

This patch adds a m_dwo_error to DWARFUnit that can be get/set and will cause "frame variable" to show errors when there are .dwo/.dwp issues informing the user about the error.

Differential Revision: https://reviews.llvm.org/D134252
lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
lldb/test/API/commands/frame/var/TestFrameVar.py