假设我的可执行程序是A,共享库为B.so
我用gdb调试A,想在B的某个源文件(比如C.cpp,C.cpp与A不在同一个目录下)中设置断点,使用下面的命令行
break C.cpp:123
提示说“No source file named C.cpp”
我尝试用下面各种方法设置C.cpp的路径也不行:
1. 使用gdb的-d参数
2. 使用gdb的dir命令
3. 设置PATH环境变量
如果我用gdb调试B.so,即
gdb B.so
则设置断点是可以的,但光是一个so没法运行,那我该怎么做呢?
当然可以调试了
如果你的.so的源文件路径在/so下面
那你你首先需要
$gdb main
$directory /so
记住用directory目录
问题已经解决
先break main, 然后run,使.so加载
然后再对共享库进行break设置
gdb中设置共享库断点问题
最新推荐文章于 2024-05-03 14:48:52 发布