<20>堆的调试方法

为什么调试堆。当堆附加数据被破坏的时候(一般是对堆地址做增量操作导致的越界)程序会崩溃并弹出错误报告框。

  1. 首先,通过错误弹窗我们可以得到堆的编号以及堆所在位置等信息。
  2. 此时,我们点击重试按钮,此时代码定位到出问题的地方,可以在堆栈窗口中查看定位到的出问题的模块。
  3. 通过调用堆栈窗口,我们可以定位到自己写代码相关的函数,或则是代码段。

数据修改断点:监控某地址上的内容变化

  1. 将问题堆弹窗地址记录下来,堆该数据添加断点,监控是否有修改,当地址数据没修改的时候,就会自动下断点,把程序暂停下来。
  2. 找到出问题的代码断点后,定位出问题的代码。
  3. 下断点,清除数据监测断点,重新调试,查看数据改变情况。

PS: VS2013添加数据修改断点,单步F10 调试->新建断点->地址->监控几个字节。堆地址可能会变动,需要关闭随机地址。

posted @   kksllss  阅读(1)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示