GDB 和带有 SIGILL 的共享对象库

发布于 2024-09-14 23:24:13 字数 491 浏览 4 评论 0原文

我正在尝试使用 GDB 在 ARM 目标设备上调试程序,而 GDB 对于 ld-linux.so.3 似乎表现得很奇怪。这是一个简单的程序,只有 printf("Hello World")。

大约一半的时间,gdb 会运行,另一半在输入 run 后跳转到此错误:

Program received signal SIGILL, Illegal instruction.
0x2aab9bc4 in _dl_debug_state () from /lib/ld-linux.so.3

我也尝试过静态链接库,但仍然收到此错误,尽管稍微少一些,但它仍然以足够的频率发生有问题。

我在目标上将 solib-absolute-prefix 设置为 /dev/null 并将 solib-search-path 设置为 /lib/ ,它加载了它所说的 ld-linux.so.3 。我需要做些什么,比如再次重新编译目标库或 GDB 想要知道的一些标志吗?

谢谢!

I am trying to debug programs on an ARM target device with GDB and GDB seems to be acting odd with regards to ld-linux.so.3. It's a simple program that just printf("Hello World").

Approximately half the time, gdb it will run and the other half jump to this error after typing run:

Program received signal SIGILL, Illegal instruction.
0x2aab9bc4 in _dl_debug_state () from /lib/ld-linux.so.3

I've also tried to statically link the libraries and I still get this error, albeit slightly less, but it still occurs with enough frequency to be problematic.

I set solib-absolute-prefix to /dev/null and solib-search-path to /lib/ on the target and it loads up the ld-linux.so.3 fine it says. Is there anything I need to do like recompile the libraries for target again or some flags GDB wants to know?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文