clang+llvm多进程gdb调试 前言 1. 命令行gdb 2. 父进程调试 3. 子进程调试 4. 返回父进程 5. .inc文件高亮 前言 在学习新增llvm的优化pass时,需要跟踪clang及llvm的调用栈。然而llvm通过posix_spawn()创建了新进程,这使得gdb调试必须有一定的技巧了。 1. 命令行gdb 以下命令通过clang调用新增优化pass(指令替换),将simple.c文件中的sum函数替换掉: clang -flegacy-pass-manager -mllvm -sub -mllvm -sub_loop=1 -mllvm -sub_name=sum mvc.o simple.c -o simple 单步调试的命令为: gdb --ar