c++ - GDB 执行错误 : No such file or directory

标签 c++ linux gdb

我有一个可执行文件,我可以从中读取符号(看起来是这样。)我的问题是:当需要运行时,我收到以下错误:

(gdb) run
Starting program: /home/usr/src/etcetera/etcetera/bin/theExecutable.exe
Cannot exec  -c exec /home/usr/src/etcetera/etcetera/bin/theExecutable.exe.
Error: No such file or directory
During startup program exited with code 127

显然,我已经编辑了这里的目录。我在 SO 上搜索了如何解决此问题,并尝试了以下一些解决方案:

GDB cannot see source file

GDB can't find source file

GDB won't load source file

进入这个链接:

https://sourceware.org/gdb/download/onlinedocs/gdb/Source-Path.html#Source-Path

并且正在尝试更改源文件目录。 (源文件与可执行文件不在同一位置,而是分布在一系列不同的地方。)除非我弄错了,否则这样做的方法是:

(gdb) 目录/home/usr/src/etcetera/etcetera/rootDirectoryForSourcefiles

并让 GDB 搜索这个目录。我什至尝试将目录更改为源目录,然后运行,但它仍然想尝试可执行文件所在的位置。

我是否以一种明显的方式完全错过了这里的标记,或者这可能非常模糊?

最佳答案

你找错人了。您的问题与源文件无关,而与您的可执行文件有关。

可能和你的~/.gdbinit,或者你的~/.bashrc,或者你调用GDB的方式有关。

您应该首先进行基本的健全性检查:

env SHELL=/bin/sh gdb -nx /bin/date
(gdb) run

如果这不起作用,那么你的 GDB 安装就搞砸了。

如果这确实有效,那么我上面提到的三件事之一很可能是您遇到麻烦的原因。

关于c++ - GDB 执行错误 : No such file or directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43334266/

相关文章:

c++ - Qt - 从布局中删除所有小部件?

c++ - 运算符重载和复制构造函数 - C++

iphone - 在 Linux 上构建 LLVM

Rubygems 现在需要 Ruby 1.8.7 或更高版本?

c++ - 无法在 ubuntu 12.04 的 qt Debug模式下显示变量值

c - GDB 在命中观察点后执行下一条指令

c++ - 如何将 2 个 char* 数组直接映射到 std::map<std::string,std::string>

C++ - 转换 std::basic_string<char>

linux - OpenCV:如何获取可用编解码器的列表?

linux - 在带有单个串行连接的远程设备上使用 gdbserver?