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 中有简要的图文使用说明。
========

DebugView调试C#程序 学习总结相关推荐

  1. 真香预警,这个VSCODE可视化调试Go程序的方式,比直接用 dlv 命令香多了

    据不权威媒体报道,每位程序员身边都有一位这样的同事,觉得用命令行比用可视化工具牛逼.每次办公室遇见这样的,我都会腹黑一番:"用工具.命令那不都一样,纯看个人喜欢,觉得用命令牛逼你咋不用vim ...

  2. 编写和调试Shader程序(1)

    编写和调试Shader程序 (1)DirectX EffectEdit JohnsonFeng 常用的Shader编写程序有ATI Render Monkey和NVIDIA FX Composer,另 ...

  3. VS调试查看寄存器学习总结

    vs2008 调试时如何查看寄存器内容 调试菜单里没找到. 怎么调出来? 谢谢. debug→windows→registers 在调试状态,然后主菜单的调试->窗口->寄存器  或者按快 ...

  4. WinDBG调试dNet程序总结

    WinDBG工具简介 http://www.cnblogs.com/mashuping/archive/2009/03/28/1424168.html 对于一般的程序不需要使用WinDBG工具去调试, ...

  5. 5.16-在线词识别程序学习(ASR+IAT)

    一些信息 6.bin文件夹是调试路径,里面文件的作用如下: msc.dll是WIN32平台程序必需的动态库: msc_x64.dll是x64平台程序必需的动态库: msc.cfg包含了配置信息,调试. ...

  6. php本地的调试安装,教你本地安装、运行、调试PHP程序

    安装工具 对学习PHP的新手来说,WINDOWS下环境配置是一件很困难的事:至少对于我来说本地调试PHP程序比登天还要困难,繁荣拖沓的各种程序.以前我博客程序用的是PJBLOG,本地的IIS就完全可以 ...

  7. emacs c语言,如何利用Emacs来调试C++程序

    俗话说,Emacs是神的编辑器,而Vim是编辑器之神.高手程序员都是用这两样神器进行开发.本人觉得,Emacs之所以厉害,是因为许多在其他编辑器下必须用鼠标点选很多步的操作,在Emacs下都可以通过键 ...

  8. ida调试linux程序,MAC使用IDA PRO远程调试LINUX程序

    1 背景 在学习Linux系统上的一些漏洞知识的时候,往往需要进行"实地测试",但是在Linux系统上进行调试并不太方便,因为LINUX自带的GDB调试工具真的不太人性化,即使有G ...

  9. cgdb 调试_在MacOS上使用gdb(cgdb)调试Golang程序

    如果你在MacOS上使用GDB工具载入Golang程序时无法载入,这篇文章可以解决.本文不具体介绍调试的方法,网上的文章太多了就不赘述了. cgdb使用的是gdb的内核,方法和原理试用本文. 问题分析 ...

最新文章

  1. /proc/sys/vm/ 内存参数
  2. java,UDP协议简单实现
  3. java里面赋值运算符解释_java复合赋值运算符和赋值运算符
  4. vSphere系列二 ---VMware vSphere Client安装
  5. python基础-基础知识(包括:函数递归等知识)
  6. Python学习之使用Python发送邮件
  7. 一个VSCode插件实现软妹音程序员鼓励师24小时在线,还能吐槽PM
  8. Ubuntu14.04使用拼音输入法
  9. Python 标准库之 random 生成伪随机数『详细』
  10. api系列聚美优品的知识点
  11. 大脑衰老可逆转,只需注入年轻脑脊液,“返老还童”登Nature
  12. 西电计科计算机视觉期末复习笔记
  13. Cesium中绘制矩形,根据四角/对角坐标绘制矩形
  14. CMDN Club #20 活动预告: 从粉笔网多终端产品快速开发说开去——移动创业产品的架构和项目管理(10月10日)...
  15. 一看就会的Nginx学习教程(千万别告诉其他人),java视频百度云盘
  16. Python-标准库calendar的使用
  17. 知识图谱最新论文清单(附论文解读)
  18. 西安交通大学915考研编程笔记
  19. AcWing 692. G巴士计数 差分+前缀和
  20. 3c认证是什么,3c认证产品范围与认证材料

热门文章

  1. profiles 配置详解
  2. Java的知识点31——封装拷贝、封装释放、实现放大器对声音的放大功能
  3. DbVisualizer Personal 7.0 数据库连接工具免安装版本获取,直接解压即可使用!
  4. CTFshow 爆破 web25
  5. SDUT-2144 图结构练习——最小生成树
  6. 4.1 matlab二维曲线绘图方法
  7. Python进阶05 循环设计
  8. contourArea函数
  9. Dogleg“狗腿”最优化算法
  10. php分页类 seo,HTML_写一个对搜索引擎友好的文章SEO分页类,使用jsp/php/asp等动态程序生成 - phpStudy...