Повторяющиеся вызовы функций при работе с Pintool - PullRequest
0 голосов
/ 14 мая 2018

Я пытаюсь подсчитать количество обращений к 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

Есть предложения?

...