【发布时间】:2017-08-25 10:01:19
【问题描述】:
我使用 intel pin 作为我的主要 DBI 工具。 我很想知道如何跟踪程序中分配的所有变量。
假设,我们在 C 中有以下 sn-p:
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 中的示例代码表示赞赏。
谢谢大家。
【问题讨论】:
标签: memory memory-profiling intel-pin