首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >反向多线程错误

反向多线程错误
EN

Stack Overflow用户
提问于 2011-07-08 21:56:26
回答 1查看 3.5K关注 0票数 6

我在gdb (7.1版)中收到以下消息:

[Thread debugging using libthread_db enabled]

和命令reverse-step

结果显示以下错误消息:

代码语言:javascript
复制
(gdb) reverse-step
Target multi-thread does not support this command

我现在正在调试一个串行代码,所以我绝对不需要多线程。我是否可以以某种方式将其关闭,以便获得最新的反向调试命令?此外,如果代码与OpenMPI并行化,则根本不需要多线程调试,对吧?

Edit:是否设置为编译标志,可以直接排除?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-08 22:15:47

您没有提到您正在使用哪个版本的GDB,但是不久之后,参数libthread-db-search-path就可以使用了。

代码语言:javascript
复制
(gdb) set libthread-db-search-path /tmp
(gdb) start
Temporary breakpoint 1 at 0x400632: file threads.c, line 14.
warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.

将告诉GDB在它没有的目录中查找它的助手库(libthread-db.so),所以多线程调试将不被启用!

我不确定OpenMPI并行应用程序是否是多进程的(与多线程的OpenMP不同),所以它不会改变任何事情。

编辑:多线程调试通常仅在进程加载了libpthread.so或等效程序时才启用(使用ldd your-process检查它是否作为共享库链接),因此如果您不需要它,那么编译脚本中可能存在问题。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6625486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档