【发布时间】:2020-04-22 17:11:32
【问题描述】:
我需要使用 strace 分析 linux 二进制可执行文件以捕获系统调用。
在运行命令时:
/usr/bin/strace ./005f32fffe1da3bc100e7dcd8b2f8f2c
我收到了这个错误:
execve("./005f32fffe1da3bc100e7dcd8b2f8f2c", ["./005f32fffe1da3bc100e7dcd8b2f8f"...], 0x7fffd9d0a120 /* 53 vars */) = -1 ENOENT (No such file or directory) fstat(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0 write(2, "/usr/bin/strace: exec: No such f"..., 49/usr/bin/strace: exec: No such file or directory ) = 49 getpid() = 3699 exit_group(1) = ? +++ exited with 1 +++
我的文件类型是 32 位 ELF 二进制文件。
file 005f32fffe1da3bc100e7dcd8b2f8f2c
005f32fffe1da3bc100e7dcd8b2f8f2c: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, stripped
我的机器是 64 位运行 Ubuntu,我安装了 libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1。
【问题讨论】:
-
再次问同样的问题,虽然没有提供额外的细节,但不太可能产生不同的结果。 stackoverflow.com/q/61344698。此外,您实际上忘了在这里问任何问题。
-
我已经在评论部分回答了你的问题和 nate 的问题,说我无法在没有 strace 的情况下运行这个文件。这是否意味着这个文件不会在我的平台上运行因为这个问题已经关闭,然后在我的 cmets 之后没有任何人回答,因此我想再次发布它。