51CTO下载-如何利用WinDbg找出程序崩溃的位置

51CTO下载-如何利用WinDbg找出程序崩溃的位置

ID:41536851

大小:167.36 KB

页数:6页

时间:2019-08-27

51CTO下载-如何利用WinDbg找出程序崩溃的位置_第1页
51CTO下载-如何利用WinDbg找出程序崩溃的位置_第2页
51CTO下载-如何利用WinDbg找出程序崩溃的位置_第3页
51CTO下载-如何利用WinDbg找出程序崩溃的位置_第4页
51CTO下载-如何利用WinDbg找出程序崩溃的位置_第5页
资源描述:

《51CTO下载-如何利用WinDbg找出程序崩溃的位置》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、如何利用WinDba找出程序崩溃的位置之前碰到论坛里有儿个好友,说程序不时的崩溃,什么xxoo不能read的!如果光要是这个内存地址,估计你会疯掉~~所以分亭一下基本的调试技巧,需要准备的工具有WinDbg+VC6.0,下血是自己整理的一份自动生成DUMP文件的源代码,只需要添加到工程即可,源代码如下:MiniDump.hMiniDump.cppV具体请参考附件SRC中,太大就不贴了〉1、在CXXDIg::OnlnitDialog()中添加这样一段:I.BOOLCTestDlg::OnInitDialog()2・{3.CDialog::OnInitDialog(

2、);4.5・//6.SetUnhandledExceptionFilter(CrashReportEx);7.HMODULEhKernel32;8.8.//TrytogetMiniDumpWriteDump()address•9.hDbgHelp=LoadLibrary(HDBGHELP.DLL1');II.MiniDumpWriteDump_=(MINIDUMP^WRITE^DUMPjGetProcAddressChDbgHelp,,,MiniDumpWriteDumpf,);12.//d("hDbgHelp=%XJMiniDumpWriteDump_=%XJ

3、hDbgHelp,MiniDumpWriteDump_);13.13.//TrytogetToolHelplibraryfunctions.14.hKernel32=GetModuleHandle(”KERNEL32”);15.CreateToolhelp32Snapshot_=(CREATE_T00L_HELP32_SNAPSH0T)GetProcAddress(hKernel32,nCreateToolhelp32SnapshotM);12.Module32First_=(M0DULE32_FIRST)GetProcAddress(hKernel32^l,M

4、odule32FirstH);13.Module32Next_=(M0DULE32_NEST)GetProcAddress(hKernel32,"ModulQ32Next”);14.}复制代码下面是工程中的测试代码:1.classCTestDlg:publicCDialog2.3.IIConstruction4.public:5.CTestDlg(CWnd*pParent=NULL);//standardconstructor6-7.voidFunl(char*pszBuffer);8.voidFun2(char♦pszBuffer);9.voidFun3(ch

5、ar♦pszBuffer);10.};复制代码1.voidCTestDlg::Funl(char♦pszBuffer)2.3-Fun2(pszBuffer);4.5.6.voidCTestDlg::Fun2(char♦pszBuffer)7.8.Fun3(pszBuffer);9.10.11.voidCTestDlg::Fun3(char♦pszBuffer)13.pszBuffer[l]=0x00;复制代码我们在双击确定按钮时的响应代码如下:1.voidCTestDlg::OnOK()2・{3.//TODO:Addextravalidationhere4.Fu

6、nl(NULL);5・}复制代码2、设置VC编译选项,勾选生成MAP和DebugInfo:3、将编译生成的Release目录中的pdb、map文件保存起来,以后调试会用到:4、运行程序,单击确定按钮岀现异常后自动重启,并创建一个Log文件夹,里面生成dump文件:2011-09-041225711.dmp狂卫鱼卫!忠Em*2011-09-045、我们打开WinDbg,设置一下pdb路径(FileSymbolFilePath)225711.txt文本文档6、用WiinDbg打开dump文件(FileOpenCrashDump)Microsoft(R)Windo

7、wsDebuggerVersion6110001404X86Copyright(c)MicrosoftCorporationAllrightsreservedLoadingDuxpFile(E:TestReleaseLog2011-09-04225711.dmpjUserMiniDu・pFileOnlyregisters,stackandportionsofnemoryareavailableSymbolsearchpathisE:'Test'ReleaseExecutablesearchpathisWindowsXPVersion2600(Servic

8、ePack2)MP(4p

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。