PIN无法捕获getpid()系统调用

时间:2016-04-20 19:42:36

标签: c++ c linux intel-pin

使用在二进制文件上标题为strace.cpp的PIN API中提供的代码示例,应提供包含所有使用的系统调用的输出文件,以及一些其他信息。我用作测试的二进制文件是一个简单的C二进制文件,它包含一个getpid()系统调用,这是第20次系统调用。来源如下:

struct {
  unsigned int pid;
  char data [16];
}test;

void foo(){
  printf("In Foo!\n");
  char *p = "hello world";
  test.pid = getpid();
  strcpy(test.data,p);  
}

int main()
{
  printf("Hello World!\n");
  foo();
  return 0;
}

PIN工具完成后,工作目录中有一个标题为strace.out的输出文件,其中包含所有系统调用信息。该文件包含大约28个不同的系统调用,但没有一个标记为20,或getpid()系统调用。系统调用号是每行冒号后面的第一个数字。

0 个答案:

没有答案