Я пытаюсь подсчитать количество обращений к malloc с помощью Pintool. Я использую Pin3.6 / source / tools / ManualExamples / malloc_mt.cpp в качестве ссылки. Все, что я делаю, это ищет определение malloc при загрузке изображения и вставляет печать перед вызовом malloc.
Я тестирую его с помощью небольшой программы, которую я написал ниже.
Моя проблема в том, что вызов 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 вошел в malloc (4095), вызванный из __libc_malloc из img /lib/i386-linux-gnu/libc.so.6
поток 0 вошел в malloc (4095), вызванный из __libc_malloc из img /lib/i386-linux-gnu/libc.so.6
поток 0 вошел в malloc (1024), вызванный из __libc_malloc из img /lib/i386-linux-gnu/libc.so.6
Есть предложения?