c++ builder xe2 debug正常 release崩溃 解决一例

今天修改了以前一个项目的代码,是一个exe程序  C++ builder xe2 编译。以前都是好的。今天改了一下版本号 编译了一下,居然不能用了。直接崩溃 提示内存非法访问。而且显然还没有进入WinMain就崩溃了,这种一般是最不好调试的。用OD调试了半天也没有看出个所以然。检查了一下最近改过的代码,都没有发现问题。

之后改为Debug版本直接单步执行发现没有问题。所以继续执行也没有问题。索性直接运行也没有问题。操蛋原来Debug是好的。百思不得其解,看了看相关_DEBUG宏的代码也没有什么问题。搞了一个小时没有搞好。

 

最后尝试了一下Clean,编译运行,之后居然好了。然后又编译一下运行又崩溃。最后Clean一下编译之后,直接发布了。

 

根本原因没有找到,但是问题算解决了。

 

在此记一下,以免下次遇到这个问题又搞一个小时。

时间: 2024-07-31 06:47:42

c++ builder xe2 debug正常 release崩溃 解决一例的相关文章

解决-CEF3中debug与release版的奇怪区别(网页显示不同),求高人指点

问题描述 CEF3中debug与release版的奇怪区别(网页显示不同),求高人指点 近来在嵌入Chrome浏览器内核,但无奈公司有些网页在release下无法打开,debug却正常.于是使用下载的cef_binary_3.1650.1562_windows32提供的cefclient测试程序进行debug和release测试,同样是debug正常.release非正常,如下图所示.release版本下即使无数据也一直在那儿转圈儿,无法跳转! debug: release: 经测试,googl

[你必须知道的.NET]第三十五回,判断dll是debug还是release,这是个问题

问题的提出 晚上翻着群里的聊天,发现一个有趣的问题:如何通过编码方式来判断一个dll或者exe为debug build还是release build?由于没有太多的讨论,所以我只好自己找点儿办法,试图解决这个问题,为夜生活带点刺激.于是,便有了本文的探索和分析. 当然,为了充分的调动起大家的主意,省去不必要的google操作,我觉得有必要对Debug和Release两种模式的异同进行一点提纲挈领式的分析,从而为接下来的解决方案打好基础. Debug & Release 我们应用Visual St

关于Debug和Release之本质区别

------------------------------------- 本文主要包含如下内容: 1. Debug 和 Release 编译方式的本质区别 2. 哪些情况下 Release 版会出错 3. 怎样"调试" Release 版的程序 --------------------------------------              关于Debug和Release之本质区别的讨论 一.Debug 和 Release 编译方式的本质区别      Debug 通常称为调试

如何把VS2008上编的debug、release程序在没装VS的xp机器上运行

用VS2008 SP编写的MFC程序,拷贝到其他没装VS2008的机器上直接运行,肯定是不行的.即使选择静态链接MFC,有时候系统还是会提示"应用程序配置不正确".这是因为程序中可能不止用到了9.0版本MFC,还可能有ATL.CRT.OPENMP等.在自己的机器上运行时,系统会到"C:/WINDOWS/WinSxS/"文件夹查找相应的库,这个文件夹里包含了所有安装过的版本的运行库和清单文件.如果只找9.0版本的库和清单文件,也可以到"C:/Program

flash-C# winfrom项目,在debug和release模式下运行都正常,发布后却报错

问题描述 C# winfrom项目,在debug和release模式下运行都正常,发布后却报错 我写了一个C#与Flash通讯的小功能,调用了系统的Flash插件,项目在debug和release模式下都没有报错,唯独在发布打包后运行时报错:对 COM 组件的调用返回了错误 HRESULT E_FAIL 求大神提示问题和解决办法,在线等!急急急! 解决方案 没有做好发布打包 解决方案二: 很明显,发布的时候少了组件,把组件带上

vb.net 怎么判断生成的exe 是debug还是release版本的。

问题描述 vb.net用程序 怎么判断生成的exe是debug还是release版本的. 解决方案 解决方案二:该回复于2011-12-20 11:36:12被版主删除解决方案三:在.NET中以DebuggableAttribute来控制CLR如何处理模块代码规则,而属性IsJITTrackingEnabled来标识运行库在代码生成过程中是否跟踪调试信息的的标识,如果IsJITTrackingEnabled为True,表示运行库跟踪调试信息,可推断为DebugBuild模式:如果IsJITTra

Win8系统开机桌面出现debug.log文件怎么解决?

  Win8系统开机桌面出现debug.log文件怎么解决?下面小编就教大家如何解决. 1.Win8系统下右击任务栏,选择"任务管理器"; 2.在"详细信息"下右击"explorer.exe"进程,选择"结束进程树"; 3.桌面就消失后在任务管理器里点击"文件"下的"运行新任务"; 4.输入"CD /d %userprofile%AppDataLocal"命令并按回车

jquery.uploadify插件在chrome浏览器频繁崩溃解决方法

 这篇文章主要介绍了jquery.uploadify插件在chrome浏览器频繁崩溃解决方法,十分的实用,遇到相同问题,需要解决的朋友可以参考下     jquery.uploadify插件在chrome浏览器频繁崩溃问题,一直困扰了好久,网上很多人说是由于chrome缓存的原因,插件初始化时,需要引用js,而chrome的缓存导致没有没有请求到jquery.uploadify-3.1_min.js,所以引起崩溃,可以在引用js时,加入随机数:<script type="text/java

c语言-vs2013C语言问题 debug出现debug assertion failed怎么解决?

问题描述 vs2013C语言问题 debug出现debug assertion failed怎么解决? 刚学没几天,指针什么的都还不怎么会用,然后写了个小游戏,里面用到指针来的,运行也成功了,但是debug里的那个exe文件打开不了,会出现debug assertion failed.我觉得应该是我代码写的有问题?指针没有用好? #include #include void read_board(int board[7][8]){ FILE*fptr; int i, j; fptr = fope