基于DebugView来调试运行在Windows系统的应用

1.什么是DebugView?

DebugView 是一个由微软开发的调试工具,它允许开发人员在没有调试器的情况下捕获系统或应用程序的调试输出。这对于调试 Windows 程序、驱动程序以及分析系统行为非常有用。DebugView 可以实时捕获和显示来自内核模式和用户模式下的调试信息,这使得它成为排查问题时的一大利器。

2.为什么使用 DebugView?

在某些情况下,调试器可能无法附加到正在运行的应用程序,或者应用程序可能在没有调试器的情况下崩溃。DebugView 能够捕获这些情况下的调试信息,帮助开发人员更好地了解系统和应用程序的行为。此外,DebugView 可以与现有的调试工具结合使用,增强调试信息的可视性和分析能力。
在这里插入图片描述

3.DebugView 的安装与配置

3.1下载与安装

DebugView 可以从微软的 Sysinternals 网站上免费下载。下载完成后,只需解压缩并运行 Dbgview.exe 文件即可使用,无需额外安装。

点击下载

在这里插入图片描述

3.2配置 DebugView

启动 DebugView 后,可以通过设置选项来调整其行为。例如,你可以选择捕获内核模式下的调试输出,或者仅捕获用户模式下的调试信息。以下是常用的配置步骤:

打开 DebugView,点击菜单栏中的“Capture”。
勾选需要捕获的选项,如“Capture Kernel”和“Capture Win32”,“Capture Global Win32”等按需开启即可
配置完成后,DebugView 将开始捕获相应的调试信息。
在这里插入图片描述

4.使用 DebugView 捕获调试信息

4.1基本使用

运行 DebugView 后,系统和应用程序的调试信息将实时显示在窗口中。你可以通过以下方式查看和分析这些信息:

使用过滤器:在 DebugView 中,你可以设置过滤器来仅显示特定的调试信息。例如,如果你只想查看包含“Error”的消息,可以在过滤器中输入相关关键字。
保存日志:你可以将捕获到的调试信息保存为日志文件,供日后分析使用。点击菜单栏中的“File”,选择“Save As”即可保存当前的调试信息。
在这里插入图片描述

4.2高级用法

DebugView 还支持一些高级功能,例如:

远程捕获:DebugView 支持远程连接到另一台计算机并捕获其调试信息。这对于调试分布式系统或远程服务器上的问题非常有用。
命令行参数:DebugView 支持通过命令行启动并传递参数,可以自动化捕获过程。例如,可以使用 /o 参数指定输出日志文件。

DebugView 使用场景示例

5.1调试Windows服务

当调试 Windows 服务时,通常无法使用常规的调试器进行附加。通过在服务代码中添加调试输出,并使用 DebugView 捕获这些信息,你可以轻松地跟踪服务的运行状态和问题所在。

这边临时注册了一个win服务模拟下调试场景
在这里插入图片描述

在这里可以看到,该服务无法启动Windows系统只抛出的异常我们无法更深层次的定位到是什么问题,下面可以看下Windows日志看有没有什么有用的信息
在这里插入图片描述
在这里插入图片描述
从日志中也没看到有用的信息
下面我们看下DebugView捕获到的异常信息

在这里插入图片描述
可以看到服务没正常启动是因为缺少依赖包,鼠标放在当前行会展示完整错误信息,
在这里插入图片描述

5.2分析系统崩溃

在系统崩溃或异常情况下,DebugView 可以捕获并保存系统崩溃前的调试信息,为后续分析提供重要线索。

总结

DebugView 是一个功能强大且易于使用的调试工具,适用于各种调试场景。无论是捕获实时调试信息还是分析系统行为,DebugView 都能够为开发人员提供极大的帮助。通过本文的介绍,希望你能更好地理解和使用 DebugView,为你的开发和调试工作提供支持。

  • 19
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不爱吃肉@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值