关键字 崩溃 windows windbg drwstn32
m$平台中程序运行中崩溃,hello级找问题
1.dump文件: 工具Dr.Watson(drwstn32.exe) 获取崩溃了的程序的信息。在应用崩溃时Dr.Watson生成dump文件(user.dmp)和日志文件。日志文件中概要信息明确显示意外情况编号(windows的错误编号)
参考http://support.microsoft.com/kb/246084
http://baike.baidu.com/view/583944.htm
http://support.microsoft.com/kb/188296
2.日志文件不能明确看出信息,看堆栈明确定位用工具:windbg
点菜单"Call Stack",直接显示(或命令kb),崩溃时程序执行的代码位置(源代码中的行数)
这样好好分析优化自己的代码解决问题。
如果还想深入,研究windbg。阅读附带的帮助。
a. 简单介绍常用的命令:
查看stack:kb, kp,
查看内存:dd,da,db
分析死锁:!cs, !lock
自动分析:!analyze
加载dll: .load, .reload
显示加载的模块信息: lm, lmvm
b.如果不是在崩溃主机上用windbg,应用程序的环境最好与出问题的主机保持一致,以便windbg按照dump文件的路径信息找到资源
命令行式运行: windbg -y SymbolPath -i ImagePath -z DumpFileName
SymbolPath : 指定符号搜索路径(以分号分隔),srv表示从互联网搜索.。典型设置 c:\symbols;srv*c:\symbols*http://msdl.microsoft.com/download/symbols;
ImagePath : 应用程序的路径
DumpFileName : 加载的dump文件名
c. windbg 已包含在WINDOWS SDK中,可以从sdk包中选择安装
直接用安装包安装, x86的安装包地址http://msdl.microsoft.com/download/symbols/debuggers/dbg_x86_6.9.3.113.msi