我正在尝试通过指向探查器中的变量来跟踪malloc区域的使用情况。例如,对于函数func()中的以下赋值。
uint64_t * dictionary = (uint64_t *) malloc(sizeof(uint64_t)*128);
我需要弄清楚指向malloc的内存区域的变量名称(在上面的例子中是'字典')。我检测了malloc()来记录分配的起始地址和大小。但是,仍然不知道变量'dictionary',我正在考虑检查函数func()的堆栈帧,找出指向与malloc类型匹配的数据类型的本地指针变量。该方法需要检测malloc()以返回一帧到func()以找出可能的局部变量,然后按类型进行模糊匹配。想知道是否有任何其他巧妙的方法来实现这一点。
答案 0 :(得分:2)
总的来说,我认为这是不可能的。 :)
一旦隔离变量引用,您想对变量引用做什么?我假设你正在调试malloc()
用于调试目的,所以你可能会将它存储在某个地方。