GDB 和带有 SIGILL 的共享对象库
我正在尝试使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论