我想知道指针在调试时包含特定的地址
I want to know pointer holds particular address at the time of debugging
我在输出窗口中使用#define _CRTDBG_MAP_ALLOC获得内存转储。
检测到内存泄漏!
转储对象->
{1078301}0x0AB2D840的正常块,48字节长
数据:<2 0 1 4-0 9->32 00 30 00 31 00 34 00 2D 00 30 00 39 00 2D 00
{975444}0x08D21138处的正常块,36字节长
数据:<==pa>A4 3D C0 08 B0 3D C0 8 01 00 00 70 61 BE 08
{975443}0x0CE96610处的正常块,32字节长
数据:<,X\pa>2C 58 C0 08 5C 90 BF 08 01 00 00 70 61 BE 08
{975438}0x0CE6B1D8处的正常块,32字节长
数据:50 90 BF 08 5C 90 BF 08 01 00 00 08 E3 D1 08
{736753}0x0CEAA878处的正常块,16384字节长
数据:<//>D8 2楼D2 08 D8 2层D2 08 03 00 00 00 00 00
{736744}0x0CEA88388192字节长的正常块
数据:<8 8>38 0B E2 0C 38 88 EA 0C 01 00 00 01 00 00 00
{736738}0x0CEA47F8处的正常块,16384字节长
数据:<G>00 00 00 F8 47 EA 0C 03 00 00 00 00 00
{736729}0x0CE105A88192字节长的正常块
数据:<(>28 14 D1 08 A8 05 E1 0C 01 00 00 00 CD CD CD CD
{736723}0x0CEA07B8处的正常块,16384字节长
数据:<G 8>F8 47 EA 0C 38 88 EA 0C 03 00 00 00 00 00
{736713}0x0CE1E4408192字节长的正常块
数据:<@@>A8 05 E1 0C 40 E4 E1 0C 01 00 00 00 CD CD CD
{736707}0x0CE1A400处的正常块,16384字节长
数据:<>B8 07 EA 0C B8 07 EA0C 03 00 00 00 00 00
{736698}0x0CE36B18192字节长的正常块
数据:<@k>40 E4 E1 0C 18 6B E3 0C 01 00 00 00 CD CD CD{736692}0x0CE163C0处的正常块,16384字节长
数据:<>00 A4 E1 0C 00 A4 E1 0C 03 00 00 00 00 00
{736682}0x0CE442308192字节长的正常块
数据:<k 0B>18 6B E3 0C 30 42 E4 0C 01 00 00 00 CD CD CD{736676}0x0CE3E7F8处的正常块,16384字节长
数据:<c c>C0 63 E1 0C C0 63 E10C 03 00 00 00 00 00
{736666}0x0CE4B6F08192字节长的正常块
数据:<0B>30 42 E4 0C F0 B6 E4 0C 01 00 00 00 CD CD CD CD
{736660}0x0CE3A7B8处的正常块,16384字节长
数据:<>F8 E7 E3 0C F8 E7 E30C 03 00 00 00 00 00
{736650}0x0CE47388处的正常块,8192字节长
数据:<s>F0 B6 E4 0C 88 73 E4 0C 01 00 00 00 CD CD CD{736644}0x0CE0C568处的正常块,16384字节长
数据:<>B8 A7 E3 0C B8 A70 E3 0C 03 00 00 00 00 00
{736634}0x0CE20B38192字节长的正常块
数据:<s 8>88 73 E4 0C 38 0B E2 0C 01 00 00 00 CD CD CD{736628}0x0CE23B70处的正常块,16384字节长
数据:68 C5 E0 0C 68 C5 E00 0C 03 00 00 00 00 00
{663741}0x0CDB6EF0的正常块,60字节长
数据:50 F2 BF 08 24 6F C0 08 01 00 00 30 75 00 00
{1923}0x08D20DE8的正常块,8字节长
数据:<@]d>40 5D BE 08 64 C0 D1 08
{1922}0x08D22E10的正常块,56字节长
数据:70 5C BE 08 00 00 00 CD CD CD E8 0D D2 08
{1900}0x08D27018的正常块,16384字节长
数据:<>F0 E2 D1 08 F0 E2 D108 03 00 00 00 00 00
{1894}0x08D22FD8的正常块,16384字节长
数据:70 3B E2 0C 70 3B E2 0C 03 00 00 00 00 00
{1883}0x08D22900的正常块,144字节长
数据:43 00 3A 00 5C 00 55 00 73 00 65 00 72 00 73 00
对象转储完成。
现在debegger碰到了断点。在监视窗口中,在调试时,我在名称栏中添加{,,msvcr100d.dll}_crtBreakAlloc,并在值栏中添加内存位置736723,这是上面提到的转储中的内存块号。这种泄漏发生在循环的函数中。
当我继续调试时,它在监视窗口中输入的内存块编号处中断,见图1在窗户上按一下见图2_CrtDbgBreak保持0x69595280。注意发生内存泄漏的
现在,我如何知道在调试时保存特定地址操作的指针。
提前感谢Avinash V
程序已经在那里中断了,所以你应该在Visual studio中的调用堆栈窗口中找到源代码,然后你就可以找到调用内存分配函数的源代码,这就是你想要的。
当您使用分配号来跟踪内存泄漏时,如果程序没有在以前的条件下运行,分配号可能会更改。请参阅:使用CRT库查找内存泄漏
- 为什么 Wild 指针包含零地址而不是 garabge 地址?
- C++:获取包含成员子对象的完整对象的地址
- 如何在日食中找到指向特定标头的包含路由?
- 将指针分配给字符串变量中包含的地址
- 英特尔 Pin:如何获取系统调用的返回地址
- C 如何使用包含浮点的CE的给定地址进行阅读/写入
- 返回类型 char* 的成员函数返回在 while 循环后包含不同字符串的地址
- [C ] NULL确实在内存中也包含一个特定的地址
- 检查子对象的地址是否在包含对象的边界内是否合法
- 英特尔PIN例行地址检索:Linux与Windows
- 为什么此指针包含存储在堆上的地址
- 反转指向成员的指针(即获取包含结构的地址)
- 复制包含原子成员的对象的地址
- GCC 地址清理器 - 将库功能列入黑名单(特别是 boost::test)
- std矢量包含指针和变量地址.清理
- 我想知道指针在调试时包含特定的地址
- 英特尔® IPP 异步 C/C++ 库是否包含在标准 IPP 库中?
- 在另一个函数内部改变指针数组所包含的地址
- 是否可以从FTP地址添加包含路径到visual studio ?
- 包含值地址的字符串 ->该值的指针