VS下面运行release版本可以正常运行而直接执行exe文件会出现问题

文如其名,最近做的两个不同的任务都遇到了这样一个问题,就是在VS下面运行release版本的程序可以正常运行而直接执行exe文件会出现问题,而且是偶有发生,在不同电脑发生的频率还不一样。一开始百思不得其解,以为是代码问题,后来百无聊奈怀疑VS运行release版本的程序时可能使用了兼容模式。于是右键exe文件打开文件属性,转到兼容性页面将“以兼容模式运行这个程序”选项勾上,确定之后再运行没有出现错误!之后测试了100次还是没有出现像之前一样的错误,因而确定了问题的原因。真是坑爹坑不完啊!!!

时间: 2024-08-20 08:31:37

VS下面运行release版本可以正常运行而直接执行exe文件会出现问题的相关文章

【转】Debug 运行正常,Release版本不能正常运行

http://blog.csdn.net/ruifangcui7758/archive/2010/10/18/5948611.aspx引言 如果在您的开发过程中遇到了常见的错误,或许您的Release版本不能正常运行而Debug版本运行无误,那么我推荐您阅读本文:因为并非如您想象的那样,Release版本可以保证您的应用程序可以象Debug版本一样运行. 如果您在开发阶段完成之后或者在开发进行一段时间之内从来没有进行过Release版本测试,然而当您测试的时候却发现问题,那么请看我们的调试规则1

让VC编译的Release版本程序在其他机器上顺利运行

链接的时候分静态链接和动态链接两种. 静态连接的话,基本上就不需要向目标机器拷贝附加的文件了,方法如下: 1.修改编译选项,将/MD或/MDd 改为 /MT或/MTd,这样就实现了对VC运行时库的静态链接,在运行时就 不再需要VC的dll了. 2.工程->属性->配置属性->常规->MFC的使用,选择“在静态库中使用mfc”. 动态连接的话,需要在目标机器上拷贝mfc所依赖的动态库.根据你使用的VC版本不同而不同: VC6的话,一般包括mfc42.dll.msvcrt.dll.ms

VS2013生成Release版本MFC程序在其他机器上运行

对于自己机器安装了VS开发环境,生成MFC的exe文件能够在自己机器上运行,复制到其他目标机器可能出现不能运行的情况.下面就个人经历将发布的两中情况简要说明. 1.工程属性中:配置属性-常规,MFC使用类型选择“在共享的DLL中使用MFC”:C/C++ - 代码生成-MFC的使用 选择“多线程DLL(/MD)”这种情况下,若直接将exe文件放到目标机器运行,则需要目标机器安装相应的开发平台.或者将生成exe程序的依赖dll文件复制到目标机器的程序运行目录下:若用到第三方库,也要复制相应的dll文

vs中ffmpeg release版本崩溃问题(转)

vs2010 win7 下开发视频服务器,用到ffmpeg,debug版本运行正常,切换到release时,出现"0x00905a4d 处未处理的异常: 0xC0000005: 读取位置 0x00905a4d 时发生访问冲突",原以为是jrtplib得问题,鼓捣半天才发现是ffmpeg. 用一个很小的测试程序验证,在av_register_all处就崩溃.鸟! 难道是用mingw生成ffmpeg时有调试信息,应用程序用release编译冲突? ffmpeg版本老旧,有这个bug? 我编

Spring Boot 2.2.2.RELEASE 版本中文参考文档【3.2 - 3.10】

Spring Boot 2.2.2.RELEASE版本中文文档持续更新中~如有需要获取参考文档文件,关注公众号JavaSo,回复“参考文档”即可. 3.2 结构化代码 Spring Boot不需要任何特定的代码布局即可工作.但是,有一些最佳做法会有所帮助. 3.2.1 使用“default”包 当一个类不包含引入包声明时,将其视为在默认包中.通常不建议使用默认包,应避免这种情况.对于使用@ ComponentScan,@ ConfigurationPropertiesScan,@ EntityS

更简单的调试Release版本Optimize code的.NET程序集

由于JIT的优化在调试Release版本程序集往往没有足够的跟踪信息,比如查看clrstack发现PARAMETERS:= <no data>状态. 在程序运行目录下创建一个[程序集名称].ini文件,比如:MyLibrary.dll => MyLibrary.ini. [.NET Framework Debugging Control] GenerateTrackingInfo=1 AllowOptimize=0 更简单的调试Release版本Optimize code的.NET程序集

Qt 错误: 无法运行 release 下的可执行文件

学习Qt有一点时间了,但之前都是在debug版本下进行编译运行,偶然切换到release版本下,却出现了如下错误: 错误提示: This application failed to start because it could not find or load the Qt platform plugin “windows”. Reinstall the application may fix this problem. 上网 Baidu / Google一下,得到如下解决方法: 复制 Qt安装

Debug与Release版本区别

Debug与Release版本区别 Debug版本就是调试版本,Visual C++ 6.0默认的就是Debug版本.在Debug版本中,可以使用单步执行.跟踪等功能,但其生成的可执行文件比较大,代码运行比较慢.Release版本就是发行版本,其运行速度较快,可执行文件较小,但在其编译条件下无法执行调试功能.     还有一点,Release版本的exe文件链接的目标是标准的MFC DLL(Use MFC in a shared or static dll).比如MFC42.DLL.这些DLL在

如何定位Release 版本中程序崩溃的位置 ---利用map文件 拦截windows崩溃函数

1       案例描述 作为Windows程序员,平时最担心见到的事情可能就是程序发生了崩溃(异常),这时Windows会提示该程序执行了非法操作,即将关闭.请与您的供应商联系.呵呵,这句微软的“名言”,恐怕是程序员最怕见也最常见的东西了. 在一个大型软件的测试过程中,初期出现程序崩溃似乎成了不可避免的事.其实测试中出现程序崩溃并不可怕,反而是测试的成功.作为开发的我们更需要关心的是程序中的哪个函数或哪一行导致了系统崩溃,这样才能有针对性的进行改正. 本文描述了自己总结的几种定位崩溃的办法.