DebugView 调试入门

软件下载地址:点击打开链接

debugview 可以捕获程序中由TRACE(debug版本)和OutputDebugString输出的信息。支持Debug、Release模式编译的程序(即该软件捕获的是exe直接运行时,抛出的信息,而不是Visual Studio调试时的),甚至支持内核程序,而且能够定制各种过滤条件,让你只看到关心的输出信息,而且可以定制高亮显示的内容等等,非常方便。

程序非常轻量:目前最新的4.81,才4百多k。

软件运行界面如下:

捕捉Release模式的Win32程序输出的调试信息,需要选中Capture Global Win32选项:

通过编程输出一些调试信息到DebugView中,一共有三种方式:

System.Diagnostics.Debug.Write
System.Diagnostics.Debugger.Log
Kernal32.dll中的OutputDebugString方法

其中:System.Diagnostics.Debug.Write方法仅仅适用于debug模式下编译出来的exe,其余两中方法与debug与release模式下编译出的exe通用。

一、System.Diagnostics.Debug.Write方法(Debug模式生成的exe)

  for (int i = 0; i < 50; i++)
            {
                System.Diagnostics.Debug.WriteLine("测试DebugView!!deg");
            }

监听效果如下:

从上图可以看到DebugView不仅仅捕获了一些咱们直接需要输出的信息,还有一些别的程序的无用信息,那么怎么进行过滤呢?

“Include”表示内容中包含的字符串,“Exclude”则是设置Debug Print内容中不包含的字符串。如在include:“deg”数据。单击“OK”之后,就会筛选出全部包含“GTA”的内容。如下图。在分类输出结果之后,就能较方便地排除和捕获系统异常情况。Exclude方法也与之相似。具体如下图:

此时就过滤掉了之前的那些无用信息了。

二、System.Diagnostics.Debugger.Log方法(Debug与Release通用)

  for (int i = 0; i < 50; i++)
            {
                System.Diagnostics.Debugger.Log(0, null, "测试DebugView!!release");
            }

三、Kernal32.dll中的OutputDebugString方法(Debug与Release通用)

1、引入Kernal32.dll中的OutputDebugString方法

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

2、使用:

<pre name="code" class="csharp"> for (int i = 0; i < 50; i++)
            {
                OutputDebugString("测试DebugView!JianKunKing");
            }

上面说的都是使用DebugView捕获本地exe程序的信息,那么可不可以用来捕获服务器上的信息呢?

四、使用DebugView捕获服务器信息

1、将DebugView软件放置到服务器上,在与程序同级目录:

的地方执行如下的bat命令:

Dbgview.exe /a /t /g /s

双击bat命令后,效果如下:

点击同意后,效果如下:

双击右下角的图标,可以看到:

然后在本地机器上启动DebugView,并通过Connect连接到远程机器的DebugView,当远程机器中有调试信息输出时,本地就会捕获到,并展示出来:

设置连接ip:

输入ip:

此时,连接已经建立好了

此处依然以刚才测试【Kernal32.dll中的OutputDebugString方法】中的exe为测试源(即将该exe放置到服务器上,启动),启动该exe后,即可检测到信息如下:

小注:

1、DebugView与log4Net都可用于记录日志,那两者有什么区别吗?

个人感觉log4Net是做日志系统不可缺少的一部分,而DebugView比较适合及时调试,具体的选择就要看个人了。本文仅仅对于DebugView软件的基础使用加以阐述,更多的信息可以参见:DebugView官网

2、远程服务器启动命令DebugView软件的bat命令:点击打开链接

时间: 2024-10-23 18:05:11

DebugView 调试入门的相关文章

掌握VS2010调试 -- 入门指南

Reference from : http://blog.csdn.net/kingzone_2008/article/details/8133048 1 导言 在软件开发周期中,测试和修正缺陷(defect,defect与bug的区别:Bug是缺陷的一种表现形式,而一个缺陷是可以引起多种Bug的)的时间远多于写代码的时间.通常,debug是指发现缺陷并改正的过程.修正缺陷紧随debug之后,或者说二者是相关的.如果代码中存在缺陷,我们首先要识别造成缺陷的根本原因(root cause),这个过

【转】HTML, CSS和Javascript调试入门

转 http://www.cnblogs.com/PurpleTide/archive/2011/11/25/2262269.html HTML, CSS和Javascript调试入门 本文介绍一些入门的HTML,css和Javascript调试技巧. 希望能让初学者有所收获,少走一点弯路. 个人推荐Chrome作为开发工具(FF可以使用FireBug,IE8和之后的版本也有自己的调试工具) 1.HTML的调试 将鼠标放在任意元素上,右键Inspect Element,即可查看该元素的HTML内

前端调试入门

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由MarsBoy发表于云+社区专栏 1 控制台 这里的控制台特指PC端浏览器进入开发者模式之后新打开的操作界面.常见的控制台有Chrome的控制台,Firefox的firebug.这些都能帮助我们调试前端问题.本手册将以Chrome浏览器控制台为例进行讲解. 下图1为Chrome浏览器控制台,图2为Firefox控制台. 图1 Chrome浏览器控制台 图 2 Firefox浏览器控制台 1.1脚本执行 上图1中,点击tab3 进入

HTML/CSS/Javascript调试入门(转)

推荐Chrome作为开发工具(FF可以使用FireBug,IE8和之后的版本也有自己的调试工具) 1.HTML的调试 将鼠标放在任意元素上,右键Inspect Element,即可查看该元素的HTML内容.(也可以通过F12打开开发者工具) 效果如下 在Elements面板中 将鼠标放在任意元素上,HTML界面上对应的元素会被选中 右击元素,可以直接修改或者是移除元素,修改后的元素效果会马上反应在页面上 2.CSS的调试 在开发者工具的右侧面板可以找到对应的CSS调试框 Styles分类下可以看

VC调试入门

概述调试是一个程序员最基本的技能,其重要性甚至超过学习一门语言.不会调试的程序员就意味着他即使会一门语言,却不能编制出任何好的软件.这里我简要的根据自己的经验列出调试中比较常用的技巧,希望对大家有用.本文约定,在选择菜单时,通过/表示分级菜单,例如File/Open表示顶级菜单File的子菜单Open.  设置为了调试一个程序,首先必须使程序中包含调试信息.一般情况下,一个从AppWizard创建的工程中包含的Debug Configuration自动包含调试信息,但是是不是Debug版本并不是

Linux gdb调试入门

没有使用过gdb调试过程序的觉得gdb是个很神奇的东东,如果你使用它调试一次保证你想忘记它都难,下面看看它的庐山真面目吧! GDB概述 GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具.或许,各位比较喜欢那种图形界面方式的,像VC.BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC.BCB的图形化调试器更强大的功能.所谓“寸有所长,尺有所短”就是这个道理. 一般来说,GDB主要帮忙你完成下面四个方面的功能: 1.启动你的程序,可以按照你的自定

转: Android 设备的远程调试入门

从 Windows.Mac 或 Linux 计算机远程调试 Android 设备上的实时内容. 本教程将向您展示如何: 设置您的 Android 设备进行远程调试,并从开发计算机上发现设备. 从您的开发计算机检查和调试 Android 设备上的实时内容. 将 Android 设备上的内容抓屏到您的开发计算机上的 DevTools 实例中. 图 1. 远程调试可以让您从自己的开发计算机上检查 Android 设备上运行的页面. 第 1 步:发现您的 Android 设备 下面的工作流程适用于大多数

使用WinDbg调试入门(内核模式)

windbg是一个内核模式和用户模式调试器,包含在Windows调试工具中.这里我们提供了一些实践练习,可以帮助您开始使用windbg作为内核模式调试器. 设置内核模式调试 内核模式调试环境通常有两台计算机:主机和目标计算机.调试器在主机上运行,正在调试的代码在目标计算机上运行.主机和目标通过调试电缆连接.Windows调试程序支持以下类型的电缆进行调试: Ethernet USB 2.0 USB 3.0 1394 Serial (also called null modem) 如果目标计算机运

node.js调试入门

1-1 Inspector介绍 使用Inspector调试Node.js的优势 可查看当前上下文的变量 可观察当前函数调用堆栈 不侵入代码 可在暂停状态下执行指定代码 Inspector的构成以及原理 WebSockets服务(监听命令) Inspector协议 Http服务(获取元信息) 协议:端口/uuid 浏览器输入协议:端口 元信息 原文地址:https://www.cnblogs.com/qiqi715/p/11494900.html