紧急求助gdb多线程调试问题
我有一个程序在main入口处并行创建了3个子线程,由于该进程本身就是另一个进程的子进程,所以我不能直接通过gdb运行调试,所以我通过了attach动态加载方式,执行gdb后,并attach 该进程号后,程序进入gdb环境,我使用info thread,得到的结果如下
4 Thread -1231299664 (LWP 4850) 0xb75ebc32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
3 Thread -1241789520 (LWP 4851) 0xb75ebc32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
2 Thread -1252279376 (LWP 4852) 0xb75ebc32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
1 Thread -1223944992 (LWP 4849) 0xb75ebc32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
可见各个子线程都是存在的
可当我执行list查看当前程序得到的提示却是
95 <<C++-namespaces>>: No such file or directory.
in <<C++-namespaces>>
我以为是源代码路径和程序执行目录不同导致无法找到源代码,所以用dir将源代码路径添加进去
dir /源代码路径
提示如下:
Source directories searched:/源代码路径: $ cdir: $cwd
这下我以为能够看到源代码了,可执行list后提示依然一样
然后我想看看能否直接设置断点
b XXX.cpp:300
可得到的提示却是
No source file named XXX.cpp.
也就是说,还是无法找到源代码
页:
[1]