这个坑, 我始终不相信编码的问题,但还是花了一上午加各种调试代码.一般加个断点,调试几下就知道是什么问题.在最后找不到解决办法的情况下google了一下,短短几分钟解决了这个问题. 程序都是踩着各种坑过来的,不容易,同时也谢谢door17,解决方案:http://blog.163.com/chuanjiang_zh/blog/static/17939525020119492030184/ 在release版本下面使用"保留未引用数据(/OPT:NOREF)"选项才可以正常运行.…
vs2010 win7 下开发视频服务器,用到ffmpeg,debug版本运行正常,切换到release时,出现"0x00905a4d 处未处理的异常: 0xC0000005: 读取位置 0x00905a4d 时发生访问冲突",原以为是jrtplib得问题,鼓捣半天才发现是ffmpeg. 用一个很小的测试程序验证,在av_register_all处就崩溃.鸟! 难道是用mingw生成ffmpeg时有调试信息,应用程序用release编译冲突? ffmpeg版本老旧,有这个bug? 我编…
今天有一个工程Debug是正常,Release崩溃,郁闷至极. 研究了一下下午,原因是一个类成员变量没有构造函数中初始化.而Debug版本正好没有问题. 所以定义类成员,一定不能忘记初始化!!…
1       案例描述 作为Windows程序员,平时最担心见到的事情可能就是程序发生了崩溃(异常),这时Windows会提示该程序执行了非法操作,即将关闭.请与您的供应商联系.呵呵,这句微软的“名言”,恐怕是程序员最怕见也最常见的东西了. 在一个大型软件的测试过程中,初期出现程序崩溃似乎成了不可避免的事.其实测试中出现程序崩溃并不可怕,反而是测试的成功.作为开发的我们更需要关心的是程序中的哪个函数或哪一行导致了系统崩溃,这样才能有针对性的进行改正. 本文描述了自己总结的几种定位崩溃的办法.…
Win7 64位系统下通过VS2015编译好的最新的OpenSSL(1.0.2j)所有八个版本的链接库, 包含以下八个版本: 1.32位.debug版LIB: 2.32位.release版LIB: 3.32位.debug版DLL: 4.32位.release版DLL: 5.64位.debug版LIB: 6.64位.release版LIB: 7.64位.debug版DLL: 8.64位.release版DLL: http://download.csdn.net/detail/yaojingkao/…
VS2008 如何将Release版本设置可以调试的DEBUG版本 只需设置三个部分: 项目->属性->C/C++->General->Debug Information Format->Program Database for Edit & Continue (/ZI) 项目->属性->C/C++->Optimization->Optimization->Disabled(/Od) 项目->属性->Linker->De…
解决这个问题之前,第一个想的是Debug版本和Release版本有什么区别 Debug版: 经过编译器编译出的项目.exe文件大,而且生成的二进制命令没有经过编译器的优化.项目中包含着丰富的调试信息,供programer调试程序.这就是为什么,当我们在Debug程序的时候,为什么程序就会在我们设置断点的地方自动停下,而且仿佛时间静止,还可以显示此时相关变量的状态. Release版: 这个版本是的出发点是用户,所以不保存调试信息,编译器在编译的时候进行了各种优化(变量不会默认赋值之类的),进而达…
今天遇到一个很奇怪的问题: 工程中用到了libcurl, debug可以正常运行,release每次都崩溃,断到curl_easy_perform这一行.堆栈中也得不到有用信息,于是GOOGLE一番,发现也有人遇到此问题,但没有找到有效的解决办法.简直有点懵........ 另外又发现一奇怪的问题,用IDE运行release版本的程序,可以正常运行,脱离IDE双击直接运行也是崩溃,打开工程选项发现 Linker->System->Minimum Required Version 为空,果断添加…
使用场景: Win32程序在release模式下编译完成,发送给最终用户使用时,我们的程序有时候也会出现崩溃的情况,这个时候如果能快速定位崩溃原因或提供一些程序崩溃时的状态信息,对我们解决问题将会带来很大的帮助.一般程序崩溃时我们需要搜集的信息包括:系统信息.CPU寄存器信息.堆栈信息.调用堆栈信息.CPU和内存状态.内存当前地址等.调用堆栈是我们最常用到的. 技术方案: 目前我搜集的方法有以下三种,日志记录.dbghelp(.dmp) .SHE(Structured Exception Han…
##环境说明 QtCreator QtLibrary 编译器 Qt Creator 2.7.0 4.8.4-msvc msvc9.0(VS2008) ##背景说明 >项目中需要对发布版本追踪崩溃问题,我们在项目中利用Qtbreakpoint来产生崩溃文件 ```*.pdb``` 文件,但是在```Qt```的Release版本下默认是不产生```*.pdb```文件 1 2 3 4 5 6 7 8 9 10   ##如何配置   * 方案1 修改编译环境,对所有项目的release都产生```*…