博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简单粗暴的“Debug模式”
阅读量:5969 次
发布时间:2019-06-19

本文共 2241 字,大约阅读时间需要 7 分钟。

在项目中,通常会遇到:调试程序和程序在线上运行时程序运行的参数不一样,

例如线上运行时程序是获取线上的机器的ip,而调试程序时,我们会指定一个ip进行调试。

又或者项目要与多个系统进行数据交换,调试的时候想屏蔽掉(不执行)这些交互的代码。

这时,我们想:要是程序能知道我们是在用Visual Studio进行调试,还是用户点击的exe执行文件使用系统,

那该美好呀!这就是Debug模式!下面我用自己的方法,实现了让程序知道是用户点的exe还是vs在调试程序。

首先我建了一个wpf应用程序(windowsForm或webForm或其它应用程序都可以),wpf程序界面上只有一个TextBlock,

用来显示当前是Debug模式或是 非Debug模式。如下图:

然后选中工程-右键-添加-新建项-应用程序配置文件(app.config),如下图:

 

双击app.config文件,新增两个相同key值的appSetting,key值为IsDebug,value的值分别为true和false,然后注释掉其中一个,如下图:

打开wpf程序窗体的cs文件(MainWindow),添加一个bool类型的IsDebug属性,

 然后在MainWindow的构造函数里获取配置文件key值为IsDebug的value,给IsDebug属性赋值,如下图:

至此,我们就可以通过IsDebug属性来判断当前是不是Debug模式了。用VS进行调试程序时,把配置文件里的key值为IsDebug的Value设置为true,

发布程序时把配置文件里的key值为IsDebug的Value设置为false。

然后程序要判断是否是Debug模式时,只需判断IsDebug属性了。

 

当配置文件里的key值为IsDebug的value为true时,程序运行截图如下:

当配置文件里的key值为IsDebug的value为false时(注释为true的配置文件字符串,把为false的取消注释):

程序运行截图如下:

程序源码如下:

XAML:

View Code

 

C#:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Navigation;using System.Windows.Shapes;using System.Configuration;namespace IsDebug_Demo{    ///     /// MainWindow.xaml 的交互逻辑    ///     public partial class MainWindow : Window    {        private bool isDebug;        ///         /// 是否是Debug模式        ///         public bool IsDebug        {            get { return isDebug; }            set { isDebug = value; }        }                public MainWindow()        {            InitializeComponent();            //获取配置文件key值为IsDebug的value,给IsDebug属性赋值,用来判断当前是否为Debug模式            this.IsDebug = bool.Parse(ConfigurationManager.AppSettings["IsDebug"]);            if (IsDebug)            {                tb.Text = "这是Debug模式!";                tb.Foreground = Brushes.Red;            }            else            {                tb.Text = "这不是Debug模式!";                tb.Foreground = Brushes.Green;            }        }    }}
View Code

 

配置文件:

View Code

 

转载于:https://www.cnblogs.com/527289276qq/p/4492140.html

你可能感兴趣的文章
linux的日志服务器关于屏蔽一些关键字的方法
查看>>
mysql多实例实例化数据库
查看>>
javascript 操作DOM元素样式
查看>>
HBase 笔记3
查看>>
【Linux】Linux 在线安装yum
查看>>
Atom 编辑器系列视频课程
查看>>
[原][osgearth]osgearthviewer读取earth文件,代码解析(earth文件读取的一帧)
查看>>
使用dotenv管理环境变量
查看>>
Vuex学习
查看>>
bootstrap - navbar
查看>>
服务器迁移小记
查看>>
FastDFS存储服务器部署
查看>>
Android — 创建和修改 Fragment 的方法及相关注意事项
查看>>
swift基础之_swift调用OC/OC调用swift
查看>>
Devexpress 15.1.8 Breaking Changes
查看>>
ElasticSearch Client详解
查看>>
mybatis update返回值的意义
查看>>
expdp 详解及实例
查看>>
通过IP判断登录地址
查看>>
深入浅出JavaScript (五) 详解Document.write()方法
查看>>