C# 用Trace.WriteLine输出调试信息无法查看

    写程序就会遇见BUG,这时候在代码不同部位输出一些标记的信息对查找错误非常有必要,一般情况下我们都是使用Console.WriteLine()方法来打印信息到控制台窗口,但有时候使用Console.WriteLine()方法会存在不方便的情况,比如鄙人遇到的问题就是程序因为用了一些其他的库,这些第三方库也会打印一些信息到控制台窗口里,造成程序运行时控制台窗口里的信息一大堆一大堆的非常混乱,根本看不到鄙人自己想显示的信息,非常令人头疼。

    然后鄙人就琢磨用C#自己提供的输出调试信息的方法来显示鄙人自己想显示的信息,C#提供了如下几个方法来输出调试信息,例如创建一个WinForm窗口程序,创建一个按钮,在按钮的回调函数里使用Trace.WriteLine()方法:

    当然也可以用Debug.WriteLine()方法,C#提供了如下几个方法来输出调试信息:

需要先引入命名空间:

using  System.Diagnostics;

调用方式:

Debug.WriteLine();

Debug.WriteLineIf();//两个参数,当第一个参数为true时,第二个参数的调试信息会显示出来。

Trace.WriteLine();//Release版本,当然Debug中也可以显示

Trace.WriteLineIf();//同上

    但是在Release状态下点了好几次输出框什么信息也没有,翻了一些资料改了Visual Studio的一些设置也无济于事,后来鄙人忽然想起之前开发驱动时用到的DebugView这个工具,驱动要输出调试信息是没办法直接看到的,所以就需要有个工具来查看驱动运行时设置的调试信息。这个工具也可以接收一般的exe程序输出的调试信息。

    这个工具最友好的地方是可以设置关键字来过滤输出信息,这样只要我们给自己的输出信息插入一个统一的字符串然后再以这个字符串为过滤条件就能很轻易的看到我们想要输出的调试信息了。

    

文中提到的工具:

DebugView

提取码: 9m4r

假如你的杀毒软件显示汉化版有毒那请自行考虑,反正鄙人用安全管家扫描是不报毒,实在不放心可以用英文原本,或者自行去微软下载。

微软提供的DebugView v4.90

注意:DebugView需要右键→管理员身份运行才能捕获调试信息,直接运行权限是不够的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/730186.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

tomcat优化与部署(三)------nignx优化与nginx +tomcat 部署

在目前流行的互联网架构中,Tomcat在目前的网络编程中是举足轻重的,由于Tomcat的运行依赖于JVM,从虚拟机的角度把Tomcat的调整分为外部环境调优 JVM 和 Tomcat 自身调优两部分 Tomcat 是一个流行的开源 Java 服务器,用于托管 Java …

hivesql和sparksql排序问题详解

语法:order by 字段名 asc/desc(升序/降序) 升序asc select * from table order by a1 asc 或者 select * from table order by a1 1 2 3 order by默认是升序排序,所以asc可以省略 降序desc select * from table order by a1 …

弱电综合布线:连接现代生活的纽带

在当今信息化快速发展的时代,弱电网络布线作为信息传输的重要基础设施,其作用日益凸显。它不仅保障了数据的高效流通,还确保了通信的稳定性。从商业大厦到教育机构,从政府机关到医院急救中心,再到我们居住的社区&#…

十五、抽象类与接口

抽象类与接口 solid设计原则 五个基本设计原则的首字母,然后通过这五种基本的设计原则,衍生出很多种的设计模式 抽象类 就是五个基本设计原则当中的o即open or close 某些软性规则需要服从,不然就会给自己或者他人带来麻烦 抽象类&#xff…

动态代理详解

动态代理 一、JDK动态代理二、CGLIB动态代理三、Javassist动态代理技术 在程序运行阶段,在内存中动态生成代理类,被称为动态代理,目的是为了减少代理类的数量。解决代码复用的问题。 一、JDK动态代理 DK动态代理技术:只能代理接口…

如何做代币分析:以 ARB 币为例

作者:lesleyfootprint.network 编译:mingfootprint.network 数据源:ARB 代币仪表板 (仅包括以太坊数据) 在加密货币和数字资产领域,代币分析起着至关重要的作用。代币分析指的是深入研究与代币相关的数据…

代码随想录算法训练营第三天|203.移除链表元素

题目: 203. 移除链表元素 已解答 简单 相关标签 相关企业 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 示例 1: 输入:head [1,2,6,3,4,5,6], val …

模块导入D11

一、异常捕获 异常捕获方式: 1) try...except... 2)try...except Exception as e 3)try...except ValueError... 4)try...except(indexError,KeyError) 分组 5)try...except...finally... 抛出异常…

【力扣100】198.打家劫舍

添加链接描述 题目翻译: 选择一个nums[i]时,nums[i-1]和nums[i1]就不能选找出这个数组中最大的和 思路: dp[i]:在打劫到第i家时,能获取的最大金额dp[i]max(dp[i-1]nums,dp[i]) class Solution:def rob(self, nums: …

MySQL 存储过程(超详细)

一、什么是存储过程? 存储过程可称为过程化SQL语言,是在普通SQL语句的基础上增加了编程语言的特点,把数据操作语句(DML)和查询语句(DQL)组织在过程化代码中,通过逻辑判断、循环等操作实现复杂计算的程序语言。换句话说&#xff0c…

K倍区间(蓝桥杯)

文章目录 K倍区间题目描述前缀和数学优化代码部分解释 K倍区间 题目描述 给定一个长度为 N的数列,A1,A2,…AN,如果其中一段连续的子序列 Ai,Ai1,…Aj 之和是 K的倍数,我们就称这个区间 [i,j]是 K倍区间。 你能求出数列中总共有多少个 K倍区…

上海雷卯可以解决YPbPr/ YCbCr接口 ESD/EOS静电浪涌问题

YPbPr /YCbCr 接口传输的是视频信号,不传输音频信号。YPbPr 和 YCbCr 都是视频信号的颜色编码格式,多应用于机顶盒(Set-top box),TV电视,投影仪,游戏机和DVD播放器。 YPbPr:是一种模拟视频接口…

05-调用API

上一篇: 04-JNI函数 调用 API 允许软件供应商将 Java VM 加载到任意本地应用程序中。供应商可以提供支持 Java 的应用程序,而无需链接 Java VM 源代码。 5.1 概述 下面的代码示例说明了如何使用调用 API 中的函数。在这个示例中,C 代码创建了…

Discuz论坛网站报错Discuz!Database Error(0)notconnect的解决办法

运营服务器大本营有段时间了,在运营期间遇到两次Discuz!Database Error(0)notconnect报错,和你们分享遇到Discuz报错的解决办法,希望可以帮助到你。 首先网站报错(0)notconnect&…

【Web】浅聊Java反序列化之C3P0——JNDI注入利用

目录 简介 原理分析 EXP 前文:【Web】浅聊Java反序列化之C3P0——URLClassLoader利用 【Web】浅聊Java反序列化之C3P0——不出网Hex字节码加载利用 简介 出网的情况下,这个C3P0的Gadget可以和fastjson,Snake YAML , JYAML,Yamlbeans , …

如何防御udp攻击

UDP Flood是互联网上最经典的DDoS(Distributed Denial of Service)攻击之一。攻击者在短时间内向目标设备发送大量的UDP报文,导致链路拥塞甚至网络瘫痪。一般的UDP报文由攻击工具伪造,通常在数据段具备相同的特征,另一…

【嵌入式高级C语言】9:万能型链表懒人手册

文章目录 序言单向不循环链表拼图框架搭建 - Necessary功能拼图块1 创建链表头信息结构体 - Necessary2 链表头部插入 - Optional3 链表的遍历 - Optional4 链表的销毁 - Necessary5 链表头信息结构体销毁 - Necessary6 获取链表中节点的个数 - Optional7 链表尾部插入 - Optio…

网站开发之旅:从概念到实现

在我成为一名专业的网站开发者的过程中,我有幸参与了多个激动人心的项目。其中,一个我印象尤为深刻的经历是,开发一个名为“文案推荐网”的主题网站(www.zimeiti.love)。这个项目不仅让我深入了解了网站开发的各个方面…

excel常用操作备忘

目录 快捷键基础数据透视图统计某列的值出现的频数 数据有效性数据分列运算符顺序文本匹配中的通配符错误的类型(常与IF嵌套使用)函数RANK(num, ref, [order])MID(str, start, len)逻辑函数混合函数选取整列AVERAGEIF(range, criteria, average_range)TR…

mvp矩阵变换及世界坐标到屏幕坐标的实现

MVP矩阵是一种用于将对象的局部坐标(Model)转换到裁剪空间(Clip Space)的变换矩阵。MVP代表了Model-View-Projection,是由三个矩阵的组合构成的。 Model矩阵(M):模型变换用于将对象的局部坐标(模型空间或对象空间)转换到世界坐标系中。Model矩阵包括了平移、旋转、缩…