Debug GCC With GDB
Table of Contents
1. Debug GCC With GDB
1.1. follow-fork-mode
gcc 只是一个 driver, 它负责通过 fork 调用 cc1, as 等完成编译
默认情况下 gdb 不会 attach child, 通过 `set follow-fork-mode child`, 可以使 gdb 自动 attach 到 child 进程.
还有另外一种方法: 如果能修改 child 的代码, 可以让它启动 sleep 足够长的时间, 以便可以手动用 gdb attach 到 child 进程上
1.2. wrapper
https://gcc.gnu.org/wiki/DebuggingGCC
gcc 提供了一个 wrapper 参数, 它在调用 cc1 时会通过 wrapper 去启动, 例如
`gcc test.c -wrapper gdb,–args`, gcc 会通过 `gdb –args cc1 test.c` 的方式启用 cc1
Backlinks
GCC (GCC > Debug GCC With GDB): Debug GCC With GDB
GDB (GDB > GDB Commands > Debug GCC With GDB): Debug GCC With GDB