Greg Law
gdb
- ptrace()
- signals ony reach the tracee via PTRACE_COUNT
- breakpoints and single step are SIGTRAPs
- ^C is SIGINT
- modify instruction causes SIGTRAP
DWARF
g++ -g3??? ; helps make inline functions not look inline; macros
- “Optomized out” really means it’s just later
- readelf —dump-debug
- can actually track registers while live
- Call frame analysys
- Catch throw or catch
- Libthreddb
address Sanitizer
Malloc and free are intercepted. Shadow memory keeps track
Replay
Record and replay nondeterministic steps. Just Re execute to get to current point
Static analysis
What’s The best way for a c++ programmer to make money? Inheritance
Synopsis