中易网

如何:在内存分配编号上设置断点

答案:2  悬赏:50  
解决时间 2021-03-03 20:35
如何:在内存分配编号上设置断点
最佳答案
若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置。内存泄漏报告中的文件名和行号告诉您分配泄漏内存的位置,但知道分配内存的位置并不总是足以确定问题。程序运行期间经常会多次调用某分配,但该分配可能只在某些调用中泄漏内存。若要确定问题,不仅需要知道分配泄漏内存的位置,还需要知道泄漏发生的条件。使您能够实现这一点的信息是内存分配编号。显示时,出现在文件名和行号后面大括号中的编号即是内存分配编号。例如,在下面的输出中,内存分配编号为 18。这意味着泄漏的内存是在程序中分配的第 18 个内存块。 Detected memory leaks! Dumping objects -> C:\PROGRAM FILES\VISUAL STUDIO\MyProjects\leaktest\leaktest.cpp(20) : {18} normal block at 0x00780E80, 64 bytes long. Data: < > CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD Object dump complete. CRT 库对程序运行期间分配的所有内存块进行计数,包括由 CRT 库本身分配的内存和其他库(如 MFC)分配的内存。因此,分配编号为 N 的对象将为程序中分配的第 N 个对象,但可能不是代码分配的第 N 个对象。(大多数情况下并非如此。)可以使用分配编号在分配内存的位置设置一个断点。方法是在程序起始附近设置一个位置断点。当程序在该点中断时,可以从“快速监视”对话框或“监视”窗口设置一个内存分配断点。 过程在“监视”窗口中设置内存分配断点在“监视”窗口的“名称”栏中键入以下表达式: _crtBreakAlloc 如果要使用 CRT 库的多线程 DLL 版本(/MD 选项),请加入上下文运算符,如下所示: {,,msvcr71d.dll}_crtBreakAlloc 按Return。 调试器将计算调用,并将结果放入“值”列。如果没有在内存分配上设置任何断点,该值将为 –1。 用要在其位置中断的内存分配的分配编号替换“值”列中的值。例如,使用 18 以在上面输出中所示的分配处中断。在所感兴趣的内存分配上设置了断点后,可以继续调试。注意在与以前运行相同的条件下运行程序,以便分配顺序不会更改。当程序在指定的内存分配处中断时,可以查看“调用堆栈”窗口和其他调试器信息以确定分配内存时的情况。如果必要,可以从该点继续执行程序,以查看对象发生了什么情况,或许可以确定未正确释放对象的原因。注意在对象上设置数据断点可能很有用。有关更多信息,请参见如何:设置数据断点(仅限本机)。
全部回答
随便点一行,按f9,左边会有个小红点,再按f5运行,当运行到红点所在行就会中断,这时就能查看变量的值了,再按f10可以一行行运行,f11可以跟到函数里面。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为何黑人跳舞那么牛逼,简直开挂啊!
请问友友们,现在黄金回收出的价钱高还是铂金
中级营养师能找到什么工作?
笔记本电脑插上耳机后耳机内没有声音,不插入
轩辕剑,的陈靖仇和宇文拓,谁成为大地皇者的
柯桥区平水镇文学艺术界联合会在哪里啊,我有
明月制衣我想知道这个在什么地方
三星S4官方ROM在哪下
1月扣两次电费
武进市苏南涂塑厂怎么去啊,有知道地址的么
前几天刚买的6S。激活保修时间这些正常吗
二维码50开头的是哪个国家代码
经典花园小区这个地址在什么地方,我要处理点
韩依瑞这个地址在什么地方,我要处理点事
一个女人老叫你看电影代表什么?
推荐资讯
看上了恺撒堡钢琴KHA1.两万六上下,买过的给
怎么查询做过的飞机记录
美到没朋友怎么去啊,我要去那办事
wim怎么安装
EXCEL表怎么简便找出相同的单元格
求助!!!假如考医学的话 是属于文课还是理课
各位帅GG靓MM:为什么我的电脑下载jar格式的手
这部电视机叫什么名字?
瑞莱克斯时尚桌球吧地址在哪,我要去那里办事
开家排骨米饭店需要准备些什么?
湛江农垦实业集团崔玉成是否被查
小学教师的教学风格对学生的学习习惯有哪些方
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?