我正在使用strace在程序中查找可能的错误,并且有以下输出:
open(0x7765533c, O_RDONLY) = -1 EACCES (Permission denied)
如何获取存储在该地址的值或如何告诉strace打印path参数?
最佳答案
strace在无法显示字符串时会显示指针值,因为指针没有指向有效的内存位置。在这种情况下,指针的字节看起来可疑地类似于ASCII。
77 65 73 3c
w e s <
您已经以某种方式从字符串中提取了4个字节,并将它们误解为指针。
至少大部分是它的样子。我无法解释一件事,那就是您如何获得EACCES而不是EFAULT。
关于c - strace:打印路径而不是地址,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43539363/