【发布时间】:2013-03-15 12:48:14
【问题描述】:
我知道围绕这个主题有一些主题,但是没有一个对我有帮助。
我正在尝试使用 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 位下编译它,因为有几个原因不这样做。
我已经按照this主题的指示,仍然没有。
有人有不同的建议吗?
编辑: 32 位机器上的 GCC 版本是 4.4.4,GDB 是 7.2 在 64 位机器上,GCC 的版本是 4.6.1,GDB 是 7.3
这有什么影响吗?
【问题讨论】:
-
您是否尝试过设置 LD_LIBRARY_PATH?
-
我刚刚将 GCC 的版本从 4.6 降级到 4.4,它开始完美运行。我真的不明白发生了什么事。