记遇到的Release和Debug下有些不同
平常开发用Debug,但是发布的时候用Release,应该是很多单位都会用的,但是有的时候你发现Debug下好使,Release下不好使,这就遇到坑了。
我也是这两天连续遇到了两次,在此记录一下,如果以后还有发现这两个区别的,还会继续追加内容。
1、Mutex
软件做的单一启动,也就是软件如果正在运行的话,双击程序,不会启动新的,而是把原有的放到最前面。
参考了WPF 同一个程序 只允许 同时运行一个这篇文章,在Debug下用着不错,挺好用的,但是,当发布成Release的时候,尼玛,不好使,怎么就不好使,Release还不能调试,只能写个TXT输出。
发现,原来在Debug下,第一次的时候createNew是True,第二次的时候createNew是False,但是在Release的时候,两次都是True。
咨询了下群里大神,有可能是Release的时候,被回收了,而且很快的回收掉了,Debug下就没有。
所以,将Mutex放到函数外就可以了。
2、Log4Net
Log4Net,App.config下配置好以后,在Debug下运行没有问题,但是在Release下不起作用,参考WPF中log4net的用法,搞定,就是在启动的时候,添加下configure
以前一直以为Debug就是调试,Release就是发布,从来没有深究过他们有多大的差别,但是,现在看来差别上还是很大的,给自己做个记录,也提个醒。
记遇到的Release和Debug下有些不同的更多相关文章
- 如何在 .NET 库的代码中判断当前程序运行在 Debug 下还是 Release 下
我们经常会使用条件编译符 #if DEBUG 在 Debug 下执行某些特殊代码.但是一旦我们把代码打包成 dll,然后发布给其他小伙伴使用的时候,这样的判断就失效了,因为发布的库是 Release ...
- Release编译模式下,事件是否会引起内存泄漏问题初步研究
题记:不常发生的事件内存泄漏现象 想必有些朋友也常常使用事件,但是很少解除事件挂钩,程序也没有听说过内存泄漏之类的问题.幸运的是,在某些情况下,的确不会出问题,很多年前做的项目就跑得好好的,包括我也是 ...
- 编译为 Release 与 Debug 的区别
class Program { static void Main(string[] args) { DoWork(); } static void DoWork() { new Person().Ru ...
- VS2010 release 和 debug 调试区别
VC下Debug和Release区别 最近写代码过程中,发现 Debug 下运行正常,Release 下就会出现问题,百思不得其解,而Release 下又无法进行调试,于是只能采用printf方式逐步 ...
- Opencv学习笔记——release和debug两个模式的运行问题
本文为原创作品,转载请注明出处 欢迎关注我的博客:http://blog.csdn.net/hit2015spring和http://www.cnblogs.com/xujianqing/ 作者:晨凫 ...
- VC中release和debug版本的区别
DEBUG版本 包含调试信息,编译器生成的代码方便调试 RELEASE版本 算是发布版本,RELEASE下不能调试,生成的文件更小,编译器生成的程序速度更快但是Debug下生成的exe文件在单独运行时 ...
- vc6++Release和Debug
1. 如何快速地规范代码缩进格式 选中所需要规范的代码,按shift+F8 2. 如何在Release状态下进行调试 Project->Setting=>ProjectSetting对话框 ...
- VS debug下为什么多此一举jmp函数地址?
VS debug下为什么call 函数后,会jmp函数地址?多此一举? http://blog.csdn.net/viper/article/details/6332934 在写跑在main之前的时候 ...
- C#中的release和debug模式
以下内容来源:https://www.cnblogs.com/rgjycs/p/9254332.html 在程序调试时的debug和release 网上有如下的描述:Debug 通常称为调试版本,它包 ...
随机推荐
- Prometheus 一条告警的触发流程、等待时间
Prometheus 一条告警的触发流程.等待时间 报警处理流程如下:1. Prometheus Server监控目标主机上暴露的http接口(这里假设接口A),通过上述Promethes配置的'sc ...
- 小程序上传图片功能 uploadFile:fail Read error:ssl=0xa738d808:I/O error during system call,Connection reset by peer
由于纯网页上传图片小程序会闪退,就采用了小程序原生的上传功能wx.uploadfile 处理流程: 1.网页需要跳转到小程序 需要引用 <script src='https://res.wx.q ...
- ActiveMq C# 消息特性:延迟和定时消息投递
ActiveMQ from version 5.4 has an optional persistent scheduler built into the ActiveMQ message broke ...
- dotnet core 之 gRPC
dotnet core gRPC 原文在本人公众号中,欢迎关注我,时不时的会分享一些心得 HTTP和RPC是现代微服务架构中很常用的数据传输方式,两者有很多相似之处,但是又有很大的不同.HTTP是一种 ...
- sql中别名加as和不加as的区别
select UserName as 用户名,PassWord as 密码 from user 与 select UserName 用户名,PassWord 密码 from user 中as用于不用的 ...
- Bootstrap3-导航条
1. 定义导航条 <!-- 导航条 navbar --> <div class="navbar nav-bar-default"> <ul class ...
- DevOps 转型到底难不难(转自成哥的世界)
原文:https://mp.weixin.qq.com/s/QwZf6ZsKGNT6YyereSmpQg DevOps 自 2009 年诞生以来,至今整整过去了十年,从最初的摸索,逐步变成一种主流的软 ...
- 【转载】C#里怎么把string类型转换成double
在C#的数字计算过程中,有很多的方法可以将字符串String类型的变量转换为double类型,double.Parse方法.Convert.ToDouble方法.double.TryParse方法等都 ...
- PHP生成唯一用户标识GUID
代码如下: //生成唯一用户标识id function create_guid() { $charid = strtoupper(md5(uniqid(mt_rand(), true))); $hyp ...
- 【转载】Gradle学习 第二章:概述
转载地址:http://ask.android-studio.org/?/article/6 Here is a list of some of Gradle's features.<翻译> ...