- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在运行我的应用程序的 ARM 板上运行基于 OpenEmbedded 的 Linux。我曾经运行过内核 2.6.35、gdb 6.8 和 gcc 4.3。最近我将系统更新到内核 2.6.37、gdb 7.4(也尝试了 7.3)和 gcc 4.6。
现在,我的应用程序无法再调试(在 ARM 板上),每次我尝试在 gdb 中运行它时,我都会收到错误“gdb:找不到新线程:通用错误”。该应用程序使用 pthreads 并链接 pthreads(readelf 将 libpthread.so.0 列为依赖项)。到目前为止,我发现的建议解决方案都建议链接到我已经在做的 pthread。我发现的另一个建议是使用 LD_PRELOAD=/lib/libpthread.so.0 这对我没有任何区别。
调试应用程序的 x86 构建没有问题。
编辑:为了回答第一个答案中提出的问题,我在目标(ARM)上使用 gdb,即没有跨 gdb。我也没有剥离 libpthread.so.0(/lib/libpthread-2.9.so:ELF 32 位 LSB 共享对象,ARM,版本 1(SYSV),动态链接(使用共享库),用于 GNU/Linux 2.6。 16,未剥离)。 glibc 保持在 2.9 版本,更新涉及重新编译整个 linux 镜像
EDIT2:删除/lib/libthread-db* 允许调试(随之而来的警告和显然某些功能将不起作用)
EDIT3:使用 set debug libthread-db 1 我得到:
Starting program: /home/root/app
Trying host libthread_db library: libthread_db.so.1.
Host libthread_db.so.1 resolved to: /lib/libthread_db.so.1.
td_ta_new failed: application not linked with libthread
thread_db_load_search returning 0
Trying host libthread_db library: libthread_db.so.1.
Host libthread_db.so.1 resolved to: /lib/libthread_db.so.1.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
warning: Unable to set global thread event mask: generic error
Warning: find_new_threads_once: find_new_threads_callback: cannot get thread info: generic error
Found 0 new threads in iteration 0.
Warning: find_new_threads_once: find_new_threads_callback: cannot get thread info: generic error
Found 0 new threads in iteration 1.
Warning: find_new_threads_once: find_new_threads_callback: cannot get thread info: generic error
Found 0 new threads in iteration 2.
Warning: find_new_threads_once: find_new_threads_callback: cannot get thread info: generic error
Found 0 new threads in iteration 3.
thread_db_load_search returning 1
Warning: find_new_threads_once: find_new_threads_callback: cannot get thread info: generic error
Found 0 new threads in iteration 0.
Cannot find new threads: generic error
(gdb) Write failed: Broken pipe
最佳答案
此错误有两个常见原因:
libpthread.so.0
之间不匹配和 libthread_db.so.1
libpthread.so.0
glibc
除了更新内核等libpthread.so.0
,然后不要那样做 --
libthread_db
需要它不被剥离。
libthread_db.so.1
在主机上匹配
glibc
估计的正好。
not cross-debugging
did not strip libpthread
glibc
中的某些内容似乎已经坏掉了。你可以试着看看那是什么
libthread_db
返回,和 (gdb) set debug libthread-db 1
(gdb) run
warning: Unable to set global thread event mask: generic error
td_ta_set_event
libthread_db 中的函数,并调用它,但该函数返回错误。发生这种情况的一种方式是 GDB 无法找到
__nptl_threads_events
函数在
libpthread.so.0
.此命令产生什么:
nm /lib/libpthread.so.0 | grep __nptl_threads_events
000000000021c294 b __nptl_threads_events
grep
上面没有产生任何输出,那么这是您的工具链的问题:您必须弄清楚为什么该变量没有出现在您重建的
libpthread.so.0
中。 .
关于gdb:找不到新线程:系统更新后出现一般错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10840621/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!