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

Author: [email protected]
Date: 2022-03-22 Tue 18:19
Last updated: 2022-03-22 Tue 18:54

知识共享许可协议