hum*_*me1 2 c++ debugging debian gdb
想要在Linux Debian中将gdb用作调试器。尝试运行二进制文件,我得到以下信息:
(gdb) r
Starting program: /usr/local/sbin/test
/bin/bash: /usr/local/sbin/test: No such file or directory
During startup program exited with code 127.
(gdb)
Run Code Online (Sandbox Code Playgroud)
我猜应该是基本的。但是我用谷歌搜索了很多,最常见的答案是
$ export SHELL=/bin/bash
Run Code Online (Sandbox Code Playgroud)
这没有帮助。我还尝试更改二进制执行的PATH,尝试从其他目录运行...仍然相同。
你能帮我吗?
/bin/bash: /usr/local/sbin/test: No such file or directory
有两个常见原因:
/usr/local/sbin/test不存在对于#1,答案很明显:您需要一个文件来调试。
对于#2,您可以像这样查找文件所需的ELF解释器:
readelf -l /usr/local/sbin/test | grep interpreter
Run Code Online (Sandbox Code Playgroud)
您可能/lib/ld-linux.so.2在没有安装32位运行时支持的64位系统上指向32位二进制文件。根据您使用的发行版,类似的方法sudo apt-get install libc6:i386可以解决问题。