极客号

怎样通过windbg调试未响应程序?windbg调试程序

怎样通过windbg调试未响应程序?

1. 打开windbg2. attach 到目标程序3. ~0s切换到0号线程4.kbn 显示调用栈5.查看是否有entercritisection活着waitforsingleobject之类的函数6.!cs查看临界区7.!handle查看句柄

怎样通过windbg调试未响应程序?windbg调试程序-图1

windbg调试命令使用详解?

答:

windbg调试命令使用详解:

程序执行到一个语句之前暂停下来的地方,断点对于软件调试来说是非常重要的,这一篇主要介绍使用windbg调试软件时,如何加断点。   windbg命令   bp+address/符号地址 在address指令处加断点,但是这个地址所在的模块必须已经被加载   bu+address/符号地址 在address指令处加断点,但是这个地址所在的模块可以没有被加载,即延迟加载的模块。   ba: 内存访问断点,当访问这个内存地址时(一般是数据),程序会断住。   bl: 列出所有已经加载的断点和地址   bc: 清理断点。 bc *,清理所有的断点。 bc 1,清理1号断点。   bd: 使一个断点无效。   be: 使一个断点有效,与bd左右相反。

怎样通过windbg调试未响应程序?windbg调试程序-图2

windbgdump文件详细分析?

windbgdump文件是Windows调试工具(WinDbg)产生的一种日志文件格式,通常用于记录系统的崩溃和错误信息。对windbgdump文件进行详细分析能够帮助开发人员快速定位问题并进行修复。具体分析通常包括:定位崩溃点、查看程序调用栈、诊断内存问题等。

同时,通过windbgdump文件还可以获取高级调试信息,例如CPU寄存器状态、线程信息等,这些信息对于高级调试和性能分析具有重要价值。

如何使用Windbg分析崩溃dump?

调试Dump文件很简单,双击自动打开VC然后F7运行。

怎样通过windbg调试未响应程序?windbg调试程序-图3

但是中间要注意很多事情。

1。Dump文件放在哪里

Dump文件不用非要放在你编译出来的位置,你完全可以建立一个新的文件夹来放它。

2。要恢复当时的现场

可能你要问,怎么可能,这个dump文件可是用户发给我的,我不可能去用户家里调试吧?

这个恢复现场可不是指的非要到那台机器上去,而是要把产生dump文件对应的二进制文件拿到。

但是恢复现场需要所有的二进制文件都要对应,你一定要有导致用户崩溃的那些Exe和Dll。既然是你发布的程序,Exe文件当然你会有。所以这里只考虑Dll就行了。

Dump文件中记录了所有dll文件的版本号和时间戳,所以你一定可以同过某种途径拿到它。如果你能从用户那里拿到最好,如果不方便,用户不可能用的是我们平常不常用的操作系统,所以找个有对应系统的机器一般都会有。但是记住不光是文件名称要一致,还要核对版本和时间戳,如果不同一样没有办法用。

到此,以上就是小编对于windbg 调试的问题就介绍到这了,希望介绍的4点解答对大家有用,有任何问题和不懂的,欢迎各位老师在评论区讨论,给我留言。

本站非盈利性质,与其它任何公司或商标无任何形式关联或合作。内容来源于互联网,如有冒犯请联系我们立删邮箱:83115484#qq.com,#换成@就是邮箱

转载请注明出处:http://www.hushtel.com/sm/14673.html

分享:
扫描分享到社交APP
上一篇
下一篇