想在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)
我猜它应该是小学的。但我搜索了很多,最常见的答案是
$ export SHELL=/bin/bash
这没有用。我还尝试更改PATH以进行二进制文件执行,尝试从不同的目录运行...仍然相同。
你可以帮帮我吗?答案 0 :(得分:5)
/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
在没有安装32位运行时支持的64位系统上,您可能有一个32位二进制文件指向/lib/ld-linux.so.2
。根据您使用的发行版,sudo apt-get install libc6:i386
之类的内容应该可以解决问题。
答案 1 :(得分:0)
这对我有用: 出口壳=路径
根据您的情况:
export SHELL = / usr / local / sbin / test
答案 2 :(得分:0)
这可能会对您有所帮助。允许所有用户在gdb之前执行这样的文件。
chmod +x file
答案 3 :(得分:-2)
我在centos7上遇到了同样的问题,并通过安装gdb8.1解决了这个问题。