gpt4 book ai didi

linux - 如何找到程序的系统调用位置?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:27:10 25 4
gpt4 key购买 nike

来自 strace 手册:

-i Print the instruction pointer at the time of the system call. 

我跟踪了我的程序:

strace -i prog

结果我接到了很多系统调用。其中之一:

[000da49c] open("./rabbit.o", O_RDONLY) = 3

但是在这个 prog 地址的反汇编指令不会调用任何系统调用(hte 编辑器):

da49c !   mov         r7, ip                          

怎么了?如何找到程序的系统调用位置?

附言我的设备架构不支持 GDB 命令捕获系统调用。

最佳答案

引用“strace”手册页的错误部分:

The -i option is weakly supported.

另一个可能对您有帮助的提示:您是否看过以前的代码?输出时的 IP 已经指向系统调用之后的 NEXT 指令。所以你应该检查da49c之前的指令。

关于linux - 如何找到程序的系统调用位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10027013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com