release下无法及时定位崩溃 导出dump文件来定位release版本 cod文件 map文件
2010-03-08 18:15
288 查看
由于在release下无法及时定位崩溃的位置,所以建议相关人员修改工程配置,以便导出dump文件来定位release版本。
下面以VS2005为例,介绍修改过程:
如果是lib修改4处地方:
1. 工程 à properties à C/C++ àGeneral à Debug Information Format 选择 “Program Database for Edit & Continue (/ZI)”可使release下可调式
2. 工程 à properties à C/C++ àOptimization àOptimization 选择 “Disabled (/Od)”
3. 工程 à properties à C/C++ àOptimization àWhole Program Optimization 选择 “No”(1,2,3与生成DUMP文件有关)
4. 工程 à properties à C/C++ àOutput Files àAssembler Output 选择 “Assembly, Machine Code and Source (/FAcs)”此处生成cod文件(包含汇编的所有code)
如果是dll除了修改上面4处,还要修改Linker处
5. 工程 à properties à Linker àDebugging àGenerate Map File 选择 “Yes (/MAP)”此处生成map文件(所有函数的入口内存地址 当崩溃时会有崩溃地址可以据此查询)
设置完之后编译即可。(现今一般调试有两种组合:1 cod文件+map文件 2 dump文件+windbg分析)
为了及时获取dump文件,程序在打包出去使用时,需要在使用的机器上运行系统自带的Mr Watson作为默认调试程序,步骤简单,如下:
1. 在运行中输入命令:“drwtsn32.exe -i”,结果如下:
2.再在运行中输入“drwtsn32.exe ”,做一些配置,如下图: 日志文件路径为所要放置dump文件的文件夹路径,故障转储就是该目录下的dmup文件路径。选择指令和错误数量可以写多点,比如50。
故障转储类型选择“完整”。选项中选择第1,2,3,6项即可。配置结束后,运行程序,当程序崩溃后会在所设路径下生成dump文件,我们可以从用户处拷回dump文件作分析。
由于默认release下不生成pdb文件,所以需要自己添加:
工程 à properties à Linker àDebugging àGenerate Program Database File 填入 “$(TargetDir)$(TargetName).pdb”
下面以VS2005为例,介绍修改过程:
如果是lib修改4处地方:
1. 工程 à properties à C/C++ àGeneral à Debug Information Format 选择 “Program Database for Edit & Continue (/ZI)”可使release下可调式
2. 工程 à properties à C/C++ àOptimization àOptimization 选择 “Disabled (/Od)”
3. 工程 à properties à C/C++ àOptimization àWhole Program Optimization 选择 “No”(1,2,3与生成DUMP文件有关)
4. 工程 à properties à C/C++ àOutput Files àAssembler Output 选择 “Assembly, Machine Code and Source (/FAcs)”此处生成cod文件(包含汇编的所有code)
如果是dll除了修改上面4处,还要修改Linker处
5. 工程 à properties à Linker àDebugging àGenerate Map File 选择 “Yes (/MAP)”此处生成map文件(所有函数的入口内存地址 当崩溃时会有崩溃地址可以据此查询)
设置完之后编译即可。(现今一般调试有两种组合:1 cod文件+map文件 2 dump文件+windbg分析)
为了及时获取dump文件,程序在打包出去使用时,需要在使用的机器上运行系统自带的Mr Watson作为默认调试程序,步骤简单,如下:
1. 在运行中输入命令:“drwtsn32.exe -i”,结果如下:
2.再在运行中输入“drwtsn32.exe ”,做一些配置,如下图: 日志文件路径为所要放置dump文件的文件夹路径,故障转储就是该目录下的dmup文件路径。选择指令和错误数量可以写多点,比如50。
故障转储类型选择“完整”。选项中选择第1,2,3,6项即可。配置结束后,运行程序,当程序崩溃后会在所设路径下生成dump文件,我们可以从用户处拷回dump文件作分析。
由于默认release下不生成pdb文件,所以需要自己添加:
工程 à properties à Linker àDebugging àGenerate Program Database File 填入 “$(TargetDir)$(TargetName).pdb”
相关文章推荐
- release下无法及时定位崩溃 导出dump文件 cod文件 map文件
- 如何定位Release 版本中程序崩溃的位置 ---利用map文件 拦截windows崩溃函数
- 如何定位Release 版本中程序崩溃的位置 ---利用map文件 拦截windows崩溃函数
- 如何定位Release 版本中程序崩溃的位置 ---利用map文件 拦截windows崩溃函数
- 如何定位Release 版本中程序崩溃的位置 ---利用map文件 拦截windows崩溃函数
- 定位Release 版本中程序崩溃的位置 ---利用map文件 拦截windows崩溃函数
- vs2010利用map,cod文件定位崩溃代码行
- release版本崩溃,如何定位代码行
- vs2010利用map,cod文件定位崩溃代码行
- 无法打开输入文件“optimized.lib” 编译osgEarth2.8+VS2013+CMake3.4.0在Release版本的问题
- 利用map和cod文件定位崩溃位置的例子和习题
- 如何利用 release 版本的 backtrace 来定位 android NDK 程序的崩溃位置
- 用QT生成release版本程序发布时会出现无法定位程序输入点。。于动态链接库
- VS2008通过 map 和 cod 文件定位崩溃代码行
- Cocos2d-x教程(19)-cocos2d-x.xcodeproj-2.2.x版本对cocos2dx文件的引用以及Cocos2d-x 2.2.0版本后项目拷贝出来无法运行的原因
- oracle 导入文件报错 导出文件中出现无法识别的语句:
- 为什么VC中DEBUG版本可以正常运行的程序有时无法在RELEASE版本下正常运行
- iphone 模拟器 XCode gdb 查找无法定位的程序崩溃
- android anr导出崩溃文件
- C# 导出Word报”无法打开Office open xml文件。因为文件内容有错误“ 解决方法