DebugView的使用

DebugView是一款Windows调试工具,用于捕获程序日志,支持32位和64位。通过OutputDebugString函数,开发者可以在程序中输出日志,而DebugView则负责接收和显示。文章介绍了如何使用DebugView进行本机和远程调试,以及注意事项,如服务进程监控和防火墙设置。
摘要由CSDN通过智能技术生成

一、前言

         DebugView是windows下的一款调试工具,可以捕获程序输出的日志,分为64位和32位,支持应用层和内核层的日志捕获,利用它排除bug是个不错的选择。本文主要关注应用层面的使用。
         一般程序日志记录可以输出到文件进行查看,但是使用DebugView不会自动输出到文件,它的日志信息是驻留在进程内存中。

二、本机调试

1.DebugView程序文件说明

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/8322c46457a444ab9edd8e24a43f9702.png)
      Dbgview.chm: 帮助文档
      Dbgview.exe:捕获32位进程的日志输出
      Dbgview64.exe/Dbgview64a.exe: 捕获64位进程的日志输出,有平台相关性
      
      DebugView主界面
      ![在这里插入图片描述](https://img-blog.csdnimg.cn/d70733a3427b48c1b355859f50d48501.png)

2.OutputDebugString函数使用

      OutputDebugString是一个Windows Api函数,可以在应用程序中使用。它的作用是发送日志,而DebugView是接收日志,。捕获的时候需要提前启动DebugView,当然不启动DebugView的话应用程序也不会因此而崩溃。
      它的ANSI和UNICODE版本签名为
WINBASEAPI VOID WINAPI OutputDebugStringA(_In_opt_ LPCSTR lpOutputString);

WINBASEAPI VOID WINAPI OutputDebugStringW(_In_opt_ LPCWSTR lpOutputString);

在C#中调用该方法

[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
public static extern void OutputDebugString(string message);

System.Diagnostics.Trace.WriteLine也可以实现和OutputDebugString类似的效果

3.示例程序

测试代码如下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;

namespace DebugViewTest
{
    class Program
    {
        [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
        public static extern void OutputDebugString(string message);

        static void Main(string[] args)
        {
            Console.WriteLine("BEGIN");
            for (int i = 0; i < 10; i++)
            {
                OutputDebugString("debugstring");
                System.Diagnostics.Trace.WriteLine("tracestring");
            }
            Console.WriteLine("END");
            
        }
    }
}

运行测试程序,查看DebugView的日志列表
DebugView会默认连接到 本机local
在这里插入图片描述
在C#中调用时不管编译的是Debug还是Release都是能正常捕获的

4.远程调试

远程调试需要在本地和远程机器上都启动DebugView进程
远程机器作为接收请求的一端,需要在命令行下加参数启动 ,即 dbgview /a
在这里插入图片描述
可以使用 tasklist /fi “imagename eq dbgview.exe” 命令得到dbgview的进程id
再结合 netstat -ano | find 命令找到dbgview监听的端口
在这里插入图片描述
如图所示,dbgview默认监听2020端口

本机作为请求的一端,可以通过菜单栏的 “Connect” 按钮连接到远程的DebugView
需要先断开到本地的默认连接
在这里插入图片描述
在这里插入图片描述

三、问题与注意事项

1.服务进程监控
DebugView默认捕获应用层普通的win32应用程序,菜单栏默认 勾选 “Capture Win32”
如果被监控进程是以windows服务形式存在的,那么需要使用管理员权限启动DebugView进程
然后在DebugView菜单栏勾选 “Capture Global Win32”
在这里插入图片描述
勾选 "Capture Kernel"会对内核的日志输出进行捕获
2.一些服务器防火墙开启的情况下,需要对dbgview监听的端口进行放行

四、小结

    工欲善其事必先利其器,所以选择一个合适的工具是多么的重要。debugview不仅能够监控本地进程日志输出还能够监控远程进程的日志输出,还是很有实用性。
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
DebugView是一款非常实用的调试工具,可以帮助开发人员检查和排除应用程序中的错误。在进行调试时,我们经常需要查看和分析应用程序输出的日志信息,以便定位问题所在。而DebugView正是为我们提供了一个方便快捷的方式来监视和捕获这些日志信息。 要下载DebugView,可以按照以下步骤进行操作: 1. 打开你偏好的浏览器,进入DebugView的官方网站。通常,你可以在搜索引擎中键入"DebugView下载"来找到官方网站。 2. 在官方网站上,你可以找到一个下载页面或者下载链接。点击该链接或按钮,以便开始下载DebugView。 3. 在下载前,你可能需要选择DebugView的版本。通常,提供的版本有32位和64位两种。选择适合你操作系统的版本,然后点击下载按钮。 4. 下载完成后,你可以找到下载文件,一般以可执行文件(.exe)的形式存在。双击该文件,启动安装程序。 5. 按照安装向导的指示进行操作,你可以选择安装位置和其他选项。一般来说,保持默认设置即可。 6. 安装完成后,你可以在开始菜单或桌面上找到DebugView的快捷方式。 现在,你已经成功下载和安装了DebugView使用它之前,你可能需要了解更多关于如何使用DebugView的信息,以便更好地发挥它的作用。DebugView具有强大的功能,如实时监视日志和筛选日志等。通过阅读官方网站提供的文档和教程,你可以掌握如何使用这些功能来调试应用程序。 总结起来,下载DebugView非常简单。只需访问官方网站,选择适合你操作系统的版本,下载并按照安装向导进行操作。安装完成后,你可以开始使用DebugView来监视和解决应用程序的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

天水麒麟姜伯约

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

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

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

打赏作者

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

抵扣说明:

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

余额充值