Branch: refs/heads/bolo/symdebug
  Home:   https://github.com/dyninst/dyninst
  Commit: 94733a04aa6b33ef8e6e6e8a73ed5442fd0dd4d6
      
https://github.com/dyninst/dyninst/commit/94733a04aa6b33ef8e6e6e8a73ed5442fd0dd4d6
  Author: Bolo <b...@cs.wisc.edu>
  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.


_______________________________________________
Dyninst-api mailing list
Dyninst-api@cs.wisc.edu
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

Reply via email to