VC程序查错之内存访问异常

作者:langouster

先来看下面这张图,相信很多程序员都见过类似。

---------------------------
test1.exe - 应用程序错误
---------------------------
"0x00401002" 指令引用的 "0x00000000" 内存。该内存不能为 "written"。

要终止程序,请单击“确定”。
要调试程序,请单击“取消”。
---------------------------
确定   取消  
---------------------------

...

VC程序查错之序言

作者:langouster

一直准备写一个关于C、C++程序调错的专题,这个专题面向的主要人群是程序开发人员,从今天开始争取每周写一点,把我所知的一些小东西和大家分享分享。

一。工具准备,我常用的工具有:

VS2005是我用的最多的开发工具,他的强大的调试分析能力注定会成为我们调试程序的首选。

Windbg是微软出的专门的调试器,功能非常强大,支持应用程序与双机驱动调试,但它的界面实在是太简略。

IDA是一款强大的二进制反汇编与分析工具,其中的F5插件支持直接把exe文件反编译成C语言。

...

Windbg找应用程序内存泄露

给自己做个记号


1.先运行Windbg安装目录下的gflags.exe,Image File,Image填exe名字,不要全路径,选上Create user mode stack trace database;

2.在Windbg中调试模式运行程序,在退出时显示:

e:\vs工程\tests\testsdlg.cpp(101) : {125} normal block at 0x003B9578, 100 bytes long.
...

分页:[«]1[»]

Powered By Z-Blog 2.0 bate Build Theme by toboku

Copyright langouster. Some Rights Reserved.   苏ICP备06046736号