ntsd调试dump文件
来源:互联网 发布:曲靖哪里有卖网络机柜 编辑:程序博客网 时间:2024/04/28 17:51
ntsd生成dump文件:
在Linux下,如果有内存访问异常等问题,可以生成core文件,协助开发人员定位问题所在。那么在Windows下,出现类似问题怎么办?其实Windows下也有类似的命令行工具——ntsd,可以用来生成dump文件,然后使用WinDbg进行分析。
ntsd的生成dump文件的方式为: ntsd -pv -p $PID -c ".dump /mf d:\aaa.dmp"。
或者,先是ntsd -pv -p $PID进入交互式命令提示,然后再输入.dump /mf d:\aaa.dmp
其中$PID,是进程的PID,需要从任务管理器中查到。
NTSD(Command Line)调试DMP格式文件:
前言:之前介绍了利用VS2005进行Dump文件的调试,功能非常强大。但VS2005是一个大程序,本文将讨论利用NTSD的Command Line 实现Dump 文件的调试。
1、 载入DMP格式文件
利用CMD打开命令行窗口,切换到NTSD所在目录。利用命令载入DMP文件:
ntsd –z dumpfileName –y symbolPath –srcpath sourcecodePath
dumpfileName:DMP格式文件路径
symbolPath:PDB文件路径
sourcecodePath:程序的源代码路径
如图1.1,若载入成功,将弹出一个NTSD窗口,如图1.2。
图1.1 载入DMP格式文件
图1.2 NTSD界面
红色的圈中显示了BUG的原因,函数IsPrefix 存在错误。0x36是错误相对于函数的偏移值。这个错误是一个Access Violation的异常,异常地址为00401036。
Note:
l 若路径中存在空格,需要用在路径前后加上引号。
l 若提示错误,根据提示查看是否由于dbghelp.dll不存在导致,安装的调试工具包中存在该动态库。
2、 定位与源代码
利用如下命令可以定位错误到源代码中:
lsp –a 500
lsa .
第一行命令用于设置显示的源代码行数,第二行命令将错误定位与错误行。如图:
图1.3 Analysis Result: Line of Source Code Causing Crash
从图中可以看出,第13号是导致程序错误的位置。如果希望看到变量的值,使用命令:
x
若需要详细查看某个变量的值,使用命令:
?? variableName
图1.4 Analysis Result: Value of Variable Causing Crash
Module Address of Your Application(显示程序模块地址)
Command:
x *!
图1.5 Application Module Information
It shows all the module address in your application.
Crash Stack Trace(显示程序调用堆栈)
If you want to trace the stack of application, use this command:
Command:
kb
图1.6 Application Stack Trace
It shows that function main invokes function IsPrefix then application crashes.
For more commands of NTSD, refer to debugger.chm in Microsoft Debugger Tools package.
- ntsd调试dump文件
- ntsd生成dump文件
- WINDBG调试DUMP文件
- 调试 core dump 文件
- WinDBG调试Dump文件
- VS2008调试dump文件
- dump文件调试
- VS2008调试dump文件
- 调试dump文件
- WinDbg调试dump文件
- vs2008 dump文件调试
- VS2008调试dump文件
- dump文件的调试
- VS2010调试dump文件
- DUMP文件调试
- VS2008调试dump文件
- Windows调试命令 NTSD
- Linux 调试 core dump文件
- 启动Tomcat6.x时manager does not exist or is not a readable directory
- 2012蓝桥杯决赛题
- 【推荐】.NET(webform,MVC)使用NPOI组件将数据导出、导入Excel
- 训练计划,水题
- Android中LCD背光驱动
- ntsd调试dump文件
- Android属性系统使用实例
- 【Oracle】PL/SQL 显式游标、隐式游标、动态游标
- python 字典
- js获取项目根路径
- win32窗口程序的详细注释
- 写出判断ABCD四个表达式的是否正确, 若正确, 写出经过表达式中 a的值
- PBOC3.0和PBOC2.0标准规范异同分析
- drupal 视频教程 下载