use*_*342 2 c malloc free visual-studio-2005
我有一个问题是找出谁在Visual Studio中的一个非常大的代码库中为变量分配内存.例如:我有一个结构
struct test
{
char *point;
}*obj;
obj = malloc(sizeof(struct test));
obj->point = malloc(100);
Run Code Online (Sandbox Code Playgroud)
变量obj在整个代码周围传递,并且在某些地方重新分配obj-> point而不释放旧内存.然而,这种情况发生在很多地方,以至于无法跟踪哪一个实际上在做这件事.在视觉工作室中是否存在,以保持条件断点,如果旧存储器被替换为新存储器,我将收到通知
如果您要跟踪特定对象,则可以设置数据断点&obj->point.每当此指针更改时,调试器将停止应用程序.
在Visual Studio中,在创建obj时放置常规断点.转到断点窗口并选择"New-> New Data Breakpoint".对于地址,输入&obj->point并选择数据大小(32/64位为4/8).