新工具介绍:AdPlus UI

通过一段时间,我开发了一款实用新工具,封装了微软的调试利器Adplus.exe让各位更易于使用它。本文是软件说明。

下载地址:http://download.csdn.net/detail/changpei/4341957

运行AdplusUI 工具需要用到两个Windbg文件adplus.exe & dbgeng.dll。大家如果没有安装Windbg软件的话,可从下面链接处下载,并把这里面的两个文件放到adplusUI.exe的相同目录下,运行adplusUI.exe就不会要求你设置windbg路径了:http://download.csdn.net/detail/changpei/4342006

Adplus UI简介 

21/03/2012Version 1.0 

张佩(Moore.Zhang) 

 

Adplus UI是对Adplus.exe的封装,后者是微软提供的调试工具,是个利器,但虽为利器却少有人用,原因在于它仅支持命令行的方式运作,而命令又稍嫌复杂。Adplus UI的功德就在于把不友好的命令行变成用户友好的界面形式,用户只需要鼠标点几下就可以完成设置,设置会被保存,以后直接使用即可。Adplus UI一定能够为Adplus.exe起到推广作用。 

目前这个软件界面是英文的,有空会加上中文界面,英文单词有拼写错误的话,望读者海涵。

关于页面… 

 

关于页面中含有一个report bug按钮,用户在使用过程中如果发现程序bug,可以将问题描述清楚后通过邮件发送给我,让我有机会改进软件的质量。

 首次运行的时候,会弹出setting页面。AdPlus.exe在运行的时候有相当多的参数需要设置,这个页面就对应了这些需要设置的参数。

Setting page 

 

用户想运行Adplus UI程序,必须首先在系统中安装Windbg软件,并正确设置Windbg安装目录,这样才能定位到Adplus.exe程序。Adplus UI只是对Adplus.exe的UI封装,并没有实现Adplus.exe的功能。所以必须要指定可运行的Adplus.exe程序路径。另外还需要设置一个专门用来储存dump文件的目录。这两项设置分别对应页面中的Windbg和Output两个按钮。 

下面的三个选项分别对:1. 应运行在何种模式,crash模式或hang模式;2. 针对发生第一次和第二次异常的时候,生成何种类型的dump文件。

 读者可以参考Windbg安装目录下面的Adplus.doc文件来熟悉这些参数。也可以在控制台中输入Adplus.exe /?来查看可用的参数清单和详细解释。

Main page

 

完成Setting页面中的设置后,通过工具栏按钮切到Main页面。最上面的编辑框显示的是将要远行的Adplus.exe命令,这时候还不能够点击run按钮运行,因为还没有设置被监控的进程。点击Process按钮选择对哪些程序进行监控。

未选择进程错误

 

在进程试图中,用户可以选择三种方式对一个进程进行监控或干预。第一种是选择一个或多个已经运行中的进程,在进程列表中任意选择一个或多个进程,选择后运行Adplus.exe,将把调试器挂载到这些进程上进行监控;第二种是启动一个进程,就是Spawn process按钮所实现的功能。点击这个按钮,用户可以指定一个可执行的exe程序。用户也可以通过编辑框手动输入或编辑。第三种方式以监控方式进行,在底部编辑框中输入特征字符串,比如notepad.exe,调试器会监控将来运行的所有进程,如果进程名与notepad.exe相符,则会把调试器挂载到它上面进行监控。 

这三种方式的进程监控方式可以混合使用。关闭进程页面退出,我们能看到Main页面中的命令信息有了变化。

选择进程

更新后的命令包含对进程3980的监控

 

此时点击Run按钮启动Adplus.exe程序并执行命令。在信息框中会打印出Adplus.exe执行命令的结果,如下图所示。一般情况下,只要设置正确就能够得到正确的执行结果。但并不能确保不出现错误的可能性。用户可以通过阅读执行结果来判断执行的情况。

 如果Adplus.exe程序执行成功,会起一个控制台界面,在这个界面里运行的是cdb.exe调试器程序,如下图所示。如果看到cdb.exe控制台界面,也就可以知道Adplus.exe正确执行无误了。

在控制台中运行的调试程序

信息框中打印出Adplus.exe的执行结果


一旦确定程序已经正确运行,就可以通过点击工具栏上的Open Dump按钮打开dump目录。程序能够非常智能地解析Adplus.exe的输出信息并获取dump目录的地址。下图是一个典型的dump目录。在这个目录里面,有三个log文件,以及若干个dump文件。三个log文件是随着监控的建立而产生的,而dump文件则是在发生异常或者hang/crash的时候才会产生。 

一旦取得dump文件,调试高手们就可以打开windbg并按下CTL+D一展身手了。

Dump目录内容

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
Windbg是一款微软开发的调试器工具,可以用于分析Windows操作系统、应用程序和驱动程序的崩溃、异常和性能问题。 使用Windbg进行dump分析,可以获取程序在崩溃时的内存快照,从而帮助开发人员定位问题。以下是基本的dump分析步骤: 1. 生成dump文件:在程序崩溃时,可以使用Windbg生成一个dump文件,命令为“adplus.exe -hang -pn <process name> -o <output directory>”。其中,-hang选项表示捕获程序挂起时的dump,-pn选项指定进程名,-o选项指定输出目录。 2. 打开dump文件:使用Windbg打开dump文件,命令为“windbg.exe <dump file>”。可以使用命令“!analyze -v”自动分析dump文件,并给出可能的原因和解决方案。 3. 分析堆栈:使用命令“kb”或“k”查看当前线程的堆栈信息,可以了解程序在崩溃时的执行路径。此外,还可以使用命令“!analyze -v -hang”分析挂起线程的堆栈。 4. 分析内存:使用命令“!address”或“!heap -s”查看进程的内存情况,可以了解程序在崩溃时的内存使用情况。如果有内存泄漏或内存溢出等问题,可以通过分析内存情况找到原因。 5. 分析异常:使用命令“!exchain”查看异常链,可以了解程序在崩溃时是否有异常发生。如果有异常发生,可以通过分析异常信息找到原因。 以上是基本的dump分析步骤,通过Windbg进行dump分析可以帮助开发人员快速定位问题,提高开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值