我正在尝试使用Pintool计算对malloc的调用次数。我使用Pin3.6 / source / tools / ManualExamples / malloc_mt.cpp作为参考。我的所有工具都是在加载图像时查找malloc定义,并在调用malloc之前插入一个print。 我正在用我编写的下面的小程序测试它。
我的问题是,对malloc的调用似乎根据工具发生了两次,而我在测试程序中只调用了一次。
#include <stdio.h>
#include <stdlib.h>
int main()
{
char *p;
p = malloc(0xfff);
free(p);
}
在仪器打印时:
线程0从img / home / --- / workspace / hw4 / tst_progs / test
主要调用主要调用线程0输入了来自img /lib/i386-linux-gnu/libc.so.6的__libc_malloc的malloc(4095)
线程0输入了来自img /lib/i386-linux-gnu/libc.so.6的__libc_malloc的malloc(4095)
线程0进入了从img /lib/i386-linux-gnu/libc.so.6的__libc_malloc调用的malloc(1024)
有什么建议吗?