当尝试使用程序运行gdb时,它在读取符号时会阻塞错误。
当我跑步时:
gdb /home/user/path/to/program.exe
我得到:
GNU gdb (Ubuntu 7.7-0ubuntu3.1) 7.7
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 "x86_64-linux-gnu".
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"...
Reading symbols from /home/user/path/to/program.exe...Segmentation fault (core dumped)我怀疑二进制文件可能太大,gdb无法加载到内存中。此错误仅在使用-g (调试标志)编译时发生。以下是二进制文件大小的差异:
用
-release flag: 405 MB
-debug flag: 862 MB
对这个分割错误的其他罪魁祸首有什么想法吗?还是有办法增加gdb所允许的内存?这对谷歌来说是一个非常具有挑战性的问题。
发布于 2014-06-03 22:31:07
如果不使用-g标志进行编译,那么在可执行文件中不包含调试信息,所以当gdb加载时,要加载的信息要少得多。
如果在启动期间gdb分段错误,那么这是一个gdb错误,没有可执行文件可以传递给gdb,这应该会导致分段错误,最坏的情况下,您应该会得到一些错误消息。
您可以尝试在gdb下运行gdb (只需执行gdb --args gdb /home/user/path/to/program.exe) --这不会对您有多大帮助,但可能会对gdb的问题有一些了解,然后您可以在这里提交一个gdb错误:bug.cgi?product=gdb,但只有当您有很好的步骤可以复制,或者有从崩溃gdb中返回的跟踪时,才值得这样做。
重新安装gdb可能会有所帮助,但我对此并不抱太大希望,除非您更改安装的gdb版本,否则gdb本身是一个很容易安装的程序,所以很难出错。
您也可以尝试从git构建gdb,这非常容易,而且bug可能已经修复了,从这里开始:http://www.gnu.org/software/gdb/current/
如果您使用从崩溃的gdb中的回溯扩展您的问题,那么其他人可能会为您提供更多关于这一问题崩溃原因的洞察力,但责任肯定与您的gdb版本有关。
发布于 2015-08-12 14:56:02
我在Ubuntu 15.04 x86_64上安装的Ubuntu 15.04 x86_64也有同样的问题,我只是使用apt-get install gdb安装了它。
我通过编译和安装一个以前的版本:gdb 7.5.1来解决这个问题。
我必须下载一个库(我找到了here),我还必须使用一些参数运行./configure (我找到了here)。其他的一切都很简单。
祝好运。
以下是命令:
$ cd
$ sudo apt-get install libncurses5-dev
$ wget ftp://sourceware.org/pub/gdb/releases/gdb-7.5.1.tar.gz
$ tar zxf gdb-7.5.1.tar.gz
$ cd gdb-7.5.1
$ sudo ./configure --disable-werror
$ sudo make
$ sudo make installhttps://stackoverflow.com/questions/24024143
复制相似问题