2018-8-10-WPF-调试-获得追踪输出
title | author | date | CreateTime | categories |
---|---|---|---|---|
WPF 调试 获得追踪输出
|
lindexi
|
2018-08-10 19:16:51 +0800
|
2018-05-16 14:51:53 +0800
|
WPF 调试
|
在 WPF 开发中,如果把一个程序发布出去,但是发现有些地方诡异,除了看日志外,如果需要拿到程序实时的输出,可以使用跟踪输出 ,本文告诉大家如何拿到 WPF 的跟踪输出。
如果有关注项目的宏,就会发现默认在 DEBUG 和 RELEASE 都有一个宏,Trace 这个宏就是用来程序信息跟踪。
因为来讲原理很无聊,还是用一个例子告诉大家这个调试方法是如何使用。
首先需要下载一个软件,通过这个软件可以用来输出。
官网:DebugView
下载完成直接打开就好,然后开始创建一个空白的 WPF 程序,在按下按钮的时候添加信息,说按下按钮。
创建的 WPF 使用简单的界面,直接放一个按钮
<Button HorizontalAlignment="Center" Content="点击"
Click="ButtonBase_OnClick"
VerticalAlignment="Center"></Button>
在后台代码,添加输出
private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
Trace.WriteLine("德熙点击按钮");
}
这时尝试运行一下代码,点击一下按钮,可以看到 VisualStudio 的输出显示了。
但是如果把这个程序发布出去,千万不要问我这么诡异的程序会有用户,我自己的图床做的那么漂亮都没有用户。用户没有 VisualStudio 那么如何获得刚才的输出?
刚才是不是打开了一个软件,尝试在 VisualStudio 找到刚才 WPF 输出的文件夹,双击打开刚刚的程序,这时点击一下,看看 DebugView 显示什么
所以在程序多写一些 Trace ,这样用户说程序很诡异就可以快速使用 DebugView 在用户那里看到程序的输出。
如果发现自己的程序没有输出,那么右击项目属性,看看下面是否取消
参见:
2018-8-10-WPF-调试-获得追踪输出的更多相关文章
- 01 mybatis框架整体概况(2018.7.10)-
01 mybatis框架整体概况(2018.7.10)- F:\廖雪峰 JavaEE 企业级分布式高级架构师课程\廖雪峰JavaEE一期\第一课(2018.7.10) maven用的是3.39的版本 ...
- Visual Studio 原生开发的10个调试技巧(二)
原文:Visual Studio 原生开发的10个调试技巧(二) 我以前关于 Visual Studio 调试技巧的文章引起了大家很大的兴趣,以至于我决定分享更多调试的知识.以下的列表中你可以看到写原 ...
- .Net程序调试与追踪的一些方法
前言 作为一个.net开发工程师,不管是在写桌面程序.服务程序或web程序,在开发阶段,我们必须非常熟悉vs的动态调试技能,当然web程序可能还需要调试前端的脚本或样式,这不在本文的讨论范围.本文主要 ...
- 北京化工大学2018年10月程序设计竞赛部分题解(A,C,E,H)
目录 北京化工大学2018年10月程序设计竞赛部分题解(A,C,E,H) 竞赛事件相关 竞赛链接 竞赛题目 总结 北京化工大学2018年10月程序设计竞赛部分题解(A,C,E,H) 竞赛事件相关 竞赛 ...
- 富士康的盈利秒杀99%的A股公司:3星|《三联生活周刊》2018年10期
三联生活周刊·最美的数学:天才为何成群到来(2018年10期) 本期专题是数学和成都,我都跳过去没看.其他内容也还有点意思. 总体评价3星. 以下是本期一些内容的摘抄,#号后面是kindle电子版中的 ...
- 10个调试Java的技巧
调试不仅可以查找到应用程序缺陷所在,还可以解决缺陷.对于Java程序员来说,他们不仅要学会如何在Eclipse里面开发像样的程序,更需要学会如何调试程序.本文介绍了Java程序员必知的10个调试技巧, ...
- js调试模式控制台输出信息
js调试模式控制台输出信息.console.log
- Linux中一个文件10行内容,如何输出5-8内容到屏幕
题目是这样的,Linux中一个文件10行内容,如何输出5-8内容到屏幕首先我们模拟一下这样的环境: [root@localhost question]# pwd /root/question [roo ...
- 申请Office 365一年免费的开发者账号攻略(2018年10月份版本)
要进行Office 365开发,当然需要有完整的Office 365环境才可以.为了便于广大开发人员快速地启动这项工作,微软官方给所有开发人员提供了免费的一年开发者账号 那么如何申请Office ...
随机推荐
- 存储过程调用http 服务
--sql 服务器设置 --启动 OLE Automation Proceduressp_configure 'show advanced options', 1; --此选项用来显示sp_con ...
- optim.py cs231n
n如果有错误,欢迎指出,不胜感激 import numpy as np """ This file implements various first-order upda ...
- 【水滴石穿】FirstReactNativeProject
这个是一个小demo,项目地址为https://github.com/prsioner/FirstReactNativeProject 有注册,忘记密码还有登陆,应该是用到了react-navigat ...
- Hibernate的映射机制是怎样?
Hibernate的映射机制对象关系映射(Object Relation Mapping(ORM))是一种为了解决面向对象与面向关系数据库互不匹配现象的技术,简而言之ORM是通过使用描述对象之间映射的 ...
- mac进行acm(C/C++)编程
在windows下我们往往使用CB(CodeBlocksks)进行acm的编程,不用建立工程,可以直接编译并运行,然后弹出黑框框,sublime也是这样,只要MinGW搞好就行 在ubuntu下我也常 ...
- Redis → 下载安装及启动
一.Window 下安装 下载地址:https://github.com/MSOpenTech/redis/releases Redis 支持 32 位和 64 位.这个需要根据你系统平台的实际情况选 ...
- Ceph 之 Background on http frontends
Background on http frontends -civetweb frontend --thread per connection, requires a lot of threads - ...
- SQLAlchemy中filter和filer_by的区别
filter: session.query(MyClass).filter(MyClass.name == 'some name') filter_by: session.query(MyClass) ...
- C++中delete this
Is it legal (and moral) for a member function to say delete this? As long as you’re careful, it’s ok ...
- 文字内容展开与折叠jquery代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...