VC++6.0调试篇:内存断点
2008-10-07 11:49
127 查看
经常有人问我关于内存断点的问题,刚才看帖又看到一个哥们问起这事。干脆就写一篇简单教程吧。
翻出了一个快排的程序。初始化了一个待排序数组,这时候如果我想看看arr[0]这个内存单元的值是何时开始变化的,那么就可以在这个内存地址直接下数据断点。打开Edit-->Breakpoints菜单,出现Breakpoints窗口,选Data叶面。内存断点需要在调试过程中使用,这时候能直接看到arr的地址是0x12ff58,或者写arr也可以。不过代码量大的话,还是直接下内存地址比较靠谱。如下图:
长度那个地方默认是1,我改成了4,因为int类型是4个字节。注意,这个时候arr[0]=0x26。然后F5运行程序。当arr[0]的值变化时,IDE会给出提示消息框,如下图:
清楚的提示我们起始地址0x12ff58,长度为4的这个内存单元发生了变化。点击确定,再看看数据。
原来的0x26变成了0x17。然后看到代码运行的地方,看到没?就是上面的交换数据的那三行代码。
嗯,大概就是这样子吧。VC6的集成调试环境还是挺不错的。
翻出了一个快排的程序。初始化了一个待排序数组,这时候如果我想看看arr[0]这个内存单元的值是何时开始变化的,那么就可以在这个内存地址直接下数据断点。打开Edit-->Breakpoints菜单,出现Breakpoints窗口,选Data叶面。内存断点需要在调试过程中使用,这时候能直接看到arr的地址是0x12ff58,或者写arr也可以。不过代码量大的话,还是直接下内存地址比较靠谱。如下图:
长度那个地方默认是1,我改成了4,因为int类型是4个字节。注意,这个时候arr[0]=0x26。然后F5运行程序。当arr[0]的值变化时,IDE会给出提示消息框,如下图:
清楚的提示我们起始地址0x12ff58,长度为4的这个内存单元发生了变化。点击确定,再看看数据。
原来的0x26变成了0x17。然后看到代码运行的地方,看到没?就是上面的交换数据的那三行代码。
嗯,大概就是这样子吧。VC6的集成调试环境还是挺不错的。
相关文章推荐
- VC++6.0调试篇:内存断点
- [ZZ] VC++6.0调试篇:内存断点
- VC++6.0调试篇:内存断点(转帖)
- VC++6.0调试篇:内存断点
- VC++6.0调试篇:内存断点
- vc++6.0断点调试
- VC++6.0快捷键大全+断点调试
- android逆向和调试中内存断点的设置
- IOS各种调试技巧(条件断点、僵尸模式、内存检测、图层透视图模式)
- android逆向和调试中内存断点的设置
- 用内存断点找OEP 问题 脱壳时提示无法读取被调试进程的内存 bad dos signature
- android逆向和调试中内存断点的设置
- android逆向和调试中内存断点的设置
- android逆向和调试中内存断点的设置
- vs2012调试时,断点错位、变量的内存信息混乱,无法正常单步调试
- android逆向和调试中内存断点的设置
- vs2013断点调试并查看内存方法
- Xcode 断点调试 及 内存泄露检测
- android逆向和调试中内存断点的设置
- 内存断点调试的原理