GDB抛出非法指令"当链接-lcurl时

时间:2017-02-16 12:04:34

标签: gdb signals

程序编译和执行完美,只是GDB调试器在执行开始时中断,出现以下对话框:

enter image description here

我可以按“继续”,程序将正常运行,但每次执行都必须这样做很烦人。

我使用this MVS extension远程交叉编译到Linux-ARM,只有当我链接-lcurl时才会发生

我试图禁用下面的每个复选框" Thrown"在例外设置中,我认为至少我不会再烦恼了,但它仍然出现在对话框中。

1 个答案:

答案 0 :(得分:0)

我注意到它不是MVS,而是Linux上的远程GBD,因为我试图从CLI调试我的程序,我遇到了同样的问题:

root@server:/.../Debug# gdb --exec=myapp
GNU gdb (Raspbian 7.7.1+dfsg-5+rpi1) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabihf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
(gdb) run
Starting program: /.../Debug/myapp
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
Cannot access memory at address 0x0

Program received signal SIGILL, Illegal instruction.
0x76a5fde8 in ?? () from /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.0.0
(gdb) continue
Continuing.
Hello World

[Inferior 1 (process 5879) exited normally]
(gdb)

在那之后,我很快找到了一个解决方法,让gdb忽略这个信号,这样就不会再困扰我停止进程:

我刚刚将handle SIGILL nostop添加到/etc/gdb/gdbinit