Technology

CppCon 2019: Modern C++ debugging tools

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

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.