我正在尝试通过指向探查器中的变量来跟踪 malloc 区域的使用情况。例如,对于函数 func() 中的以下赋值。
uint64_t * dictionary = (uint64_t *) malloc(sizeof(uint64_t)*128);
我需要找出指向 malloc 的内存区域的变量名(在上面的例子中是“字典”)。我使用 malloc() 记录分配的起始地址和大小。但是,仍然不知道变量“字典”,我在想的是检查函数 func() 的堆栈帧,找出指向与 malloc'ed 类型匹配的数据类型的局部指针变量。该方法需要检测 malloc() 以返回一帧到 func() 以找出可能的局部变量,然后按类型进行模糊匹配。想知道是否有任何其他巧妙的方法来实现这一点。