0

我知道围绕这个主题有一些主题,但是没有一个对我有帮助。

我正在尝试使用 GDB 调试我的应用程序,但我得到了错误

 [debug]Cannot find new threads: generic error 
 [debug][Thread debugging using libthread_db enabled]

在函数 dlopen("my_lib.so", RTLD_LAZY);

奇怪的是,当我在 32 位架构的 Ubuntu 下编译时,它曾经可以工作。现在,我搬到了一台安装了 64 位 ubuntu 的新机器上,但是,我提供了编译选项 -m32 以便应用程序仍然在 32 位下编译。请不要告诉我尝试在 64 位下编译它,因为有几个原因不这样做。

我已按照主题的说明进行操作,但仍然没有。

有人有不同的建议吗?

编辑: 32 位机器上的 GCC 版本是 4.4.4,GDB 是 7.2 在 64 位机器上,GCC 的版本是 4.6.1,GDB 是 7.3

这有什么影响吗?

4

1 回答 1

0

请设置这个

LD_PRELOAD=/lib/x86_64-linux-gnu/libpthread.so.0 gdb --args ./app
于 2013-03-15T13:43:28.740 回答