前言
在学习新增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 --args clang -flegacy-pass-manager

本文介绍了如何在clang+llvm项目中,通过gdb进行多进程调试,包括命令行gdb的使用,父进程和子进程的调试方法,以及在vscode中设置.inc文件高亮。
最低0.47元/天 解锁文章
1195

被折叠的 条评论
为什么被折叠?



