新工具介绍:AdPlus UI

来源:互联网 发布:乐视2手机怎样恢复数据 编辑:程序博客网 时间:2024/04/29 14:57

通过一段时间,我开发了一款实用新工具,封装了微软的调试利器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目录内容

原创粉丝点击