【发布时间】:2020-04-30 17:12:28
【问题描述】:
我一直在使用this 教程尝试在C 中设置调试器。我设置了一个测试程序,如下所示:
#include<stdio.h>
int main()
{
printf("BEFORE");
printf("AFTER");
}
但如果我尝试使用下面的代码在 0x64a 处打印数据,我会得到输出 ffffffffffffffff
long address = 0x64a;
long data = ptrace(PTRACE_PEEKTEXT, status, (void *) address, NULL);
printf("%lx", data);
另外,这是我附加测试程序的代码:
char* args[] = {"test", NULL};
if(pid == 0)
{
ptrace(PTRACE_TRACEME, 0, NULL, NULL);
execve("./test", args, NULL);
//execl("./test", "test", NULL);
}
【问题讨论】: