我使用 intel pin 作为我的主要 DBI 工具。我很想知道如何跟踪程序中分配的所有变量。
假设,我们在 C 中有以下代码段:
int *ptr_one, *ptr_two, g;
ptr_one = (int *)malloc(sizeof(int));
ptr_two = (int *)malloc(sizeof(int));
*ptr_one = 25;
*ptr_two = 24;
g = 130;
free(ptr_two);
g = 210;
*ptr_two = 50;
我想知道如何在我的程序中跟踪特定变量/内存引用。例如在上面的代码中,我喜欢用 Intel Pin 在我的程序中跟踪变量“g”,它是如何做到的?
对于动态分配的变量,我正在监视 malloc/free 调用并跟踪它们的地址,但对于静态变量我不知道。
另一件事是,对于动态分配的变量,我喜欢在整个程序中跟踪它们,假设在上面的代码中,我想监视(ptr_two)变量在我的程序中从开始到结束的变化和修改。
如果有人对此有一些想法,可以在这里分享它,英特尔 Pin 中的示例代码很受欢迎。
谢谢你们 。