DebugView调试C#程序 学习总结

xiaoxiao2021-02-28  90

DebugView调试C#程序

http://www.cnblogs.com/ahuo/archive/2007/04/09/705886.html using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; namespace ConsoleApplication1 {     class Program     {         static void Main(string[] args)         {             Debug.Listeners.Add(new TextWriterTraceListener(Console.Out));             Debug.AutoFlush = true;             Debug.Indent();             Debug.WriteLine("Entering Main"); //显示在DebugView的信息             Console.WriteLine("Hello World.");             Debug.WriteLine("Exiting Main");              Debug.Unindent();         }     } } http://files.cnblogs.com/ahuo/dbgview.rar 公共方法 Assert 受 .NET Framework 精简版的支持。 已重载。检查条件,如果该条件为 false,则显示消息。 Close 受 .NET Framework 精简版的支持。 刷新输出缓冲区然后关闭 Listeners。 Fail 受 .NET Framework 精简版的支持。 已重载。发出错误信息。 Flus 受 .NET Framework 精简版的支持。 刷新输出缓冲区并使放入缓冲区的数据写入 Listeners 集合。 Indent 将当前的 IndentLevel 增加 1。 Unindent 将当前的 IndentLevel 减少 1。 Writ 受 .NET Framework 精简版的支持。 已重载。将有关调试的信息写入 Listeners 集合中的跟踪侦听器。 WriteI 受 .NET Framework 精简版的支持。 已重载。如果条件为 true,则将有关调试的信息写入 Listeners 集合中的跟踪侦听器。 WriteLine 受 .NET Framework 精简版的支持。 已重载。将有关调试的信息写入 Listeners 集合中的跟踪侦听器。 WriteLineIf 受 .NET Framework 精简版的支持。 已重载。如果条件为 true,则将有关调试的信息写入 Listeners 集合中的跟踪侦听器。 ========

用DebugView调试C#程序

http://blog.csdn.net/gaoxiang19820514/article/details/6649907 1.引用  using System.Diagnostics; 2.显示在DebugView的信息 Debug.WriteLine(DateTime.Now.ToString("HH-mm-ss")+" "+DateTime.Now.Millisecond.ToString() + " cti_message", "my"); 3.在Dbgview.exe 过滤其它信息 Edit -> Filter/Hightlight... -> include: 中输入 *my  点击OK后,便可用DebugView调试C#程序了。 ========

DebugView 调试入门

http://blog.csdn.net/jiankunking/article/details/44984487 debugview 可以捕获程序中由TRACE(debug版本)和OutputDebugString输出的信息。支持Debug、Release模式编译的程序(即该软件捕获的是exe直接运行时,抛出的信息,而不是Visual Studio调试时的),甚至支持内核程序,而且能够定制各种过滤条件,让你只看到关心的输出信息,而且可以定制高亮显示的内容等等,非常方便。 程序非常轻量:目前最新的4.81,才4百多k。 软件运行界面如下: 捕捉Release模式的Win32程序输出的调试信息,需要选中Capture Global Win32选项: 通过编程输出一些调试信息到DebugView中,一共有三种方式: [csharp] view plain copy 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) [csharp] view plain copy 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通用) [csharp] view plain copy for (int i = 0; i < 50; i++)             {                 System.Diagnostics.Debugger.Log(0, null, "测试DebugView!!release");             }   三、Kernal32.dll中的OutputDebugString方法(Debug与Release通用) 1、引入Kernal32.dll中的OutputDebugString方法 [csharp] view plain copy [DllImport("kernel32.dll", CharSet = CharSet.Auto)]        public static extern void OutputDebugString(string message);   2、使用: [csharp] view plain copy <pre name="code" class="csharp"> for (int i = 0; i < 50; i++)               {                   OutputDebugString("测试DebugView!JianKunKing");               }   上面说的都是使用DebugView捕获本地exe程序的信息,那么可不可以用来捕获服务器上的信息呢? 四、使用DebugView捕获服务器信息 1、将DebugView软件放置到服务器上,在与程序同级目录: 的地方执行如下的bat命令: [plain] view plain copy 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命令:点击打开链接 ========

DebugView使用详解

http://www.cnblogs.com/wolfrickwang/p/3295925.html DebugView是一个系统调试信息输出的捕获工具。 在程序中使用如下函数:   1> OutputDebugString  或者在MFC中使用TRACE   2> 内核模式中使用Out_Debug_String,DbgPrint ,_Debug_Printf_Service   编译程序为DEBUG版本,然后运行程序(不是在vs 中运行,是单独运行),打开debugview 就可以在其中看到输出的调试信息。 Debugview 也支持远程调试,在本机运行Dbgview.exe /c/s/t 可以让DebugView以服务的形式运行。在远端打开Debugview,点击Computer/connect ,输入查看调试信息主机的IP ,点击确定即可。 使用DebugView时候可以选择捕获程序调试信息为用户程序或者内核程序。 注意Debugview的过滤功能,比较实用,include 表示调试信息包含的字符串,exclue 表示不包含的字符串,多个字符串使用“;”号隔开。 可以参见博客http://blog.sina.com.cn/s/blog_9b477e8d01016lh7.html 中有简要的图文使用说明。 ========
转载请注明原文地址: https://www.6miu.com/read-61841.html

最新回复(0)