Branch: refs/heads/bolo/symdebug
Home: https://github.com/dyninst/dyninst
Commit: 94733a04aa6b33ef8e6e6e8a73ed5442fd0dd4d6
https://github.com/dyninst/dyninst/commit/94733a04aa6b33ef8e6e6e8a73ed5442fd0dd4d6
Author: Bolo <bolo@xxxxxxxxxxx>
Date: 2023-10-30 (Mon, 30 Oct 2023)
Changed paths:
M symtabAPI/src/dwarfWalker.C
M symtabAPI/src/dwarfWalker.h
Log Message:
-----------
DW_CATCH debugging.
Firewalls the exception throw in the dwarf parser so that
a backtrace is possible.
This catches the 'bad_cast' exception throws. It seems
they all come from parseMember().
In addition, I noticed that we are not parsing (default error)
the '0' entries on el8 (they don't exist on ubuntu 20/22) and
we might not be parsing dwarf correctly. It appears to be legal
dwarf that we are doing a default action on, instead of an explicit
action?
There are actually two firewalls, in case an exception is thrown
past the case statement of parse_int() -- which is now _parse_int()
with the exception firewall in parse_int()
The log messages all are tagged DW_CATCH for easy grepping.
|