D2007 IDE中的“异常程序终止”错误:有没有解决方法?

时间:2010-08-25 12:37:55

标签: delphi ide delphi-2007

我在D2007 IDE中面临一个非常恼人的错误:

这是我在一个月内第二次出现这个问题(在两台不同的计算机上,但使用相同的项目),这是一个非常烦人的错误导致IDE关闭而不允许我保存任何更改代码。

我试过但无法重现该错误,它只是随机出现。

以下是完全发生的事情:

我正在更改一行代码(当我按“enter”进入下一行) 消息

“断言失败:金额> = dest - startDest,文件ek_flbuf.cpp,第315行”出现。

当我按OK时,会出现第二条消息“异常程序终止”。

关闭此消息会导致IDE退出。

在Google搜索我的问题时,我发现QC 33917,但状态为已关闭:无法重现

我的问题是:

  • 这个问题是否有任何已知的解决方法?
  • 这个问题可能是由第三方的东西造成的吗? (我正在使用GExperts和Delphi SpeedUp)
  • 这里有没有人在更新的IDE上遇到问题?

更新: 我记得这个问题是在同一个单位内第一次(一个月前)发生的。 所以问题可能不仅与项目有关,而且与单位有关。

我重新启动了Delphi并返回了今天出现问题的同一个函数,尝试重现该错误只输入一些代码然后一次又一次地删除它,就像疯了一样......

只需重新启动delphi并在单元中编辑代码(之前没有其他操作),我今天第二次设法重现了这个问题!但是没有更多,尽管有许多新的类似试验......: (

......还在调查。 (并且谢谢你的答案,我现在将停止尝试重现该错误并检查回答提示。)

4 个答案:

答案 0 :(得分:4)

我最后一次看到这个,是因为我的一个源文件的行结尾不一致。

确保所有源文件中的所有行都以CRLF结尾。

- 的Jeroen

答案 1 :(得分:1)

当我使用2007并看到这个时,它只发生在非常长的单位(10,000多行 - 有很多是另一个讨论的问题:p)通常IDE会没问题,然后输入会变得相当慢 - 我可以看到我在代码编辑器中输入的字母滞后。除非我暂停并让编辑赶上,否则我会收到错误。

所以,我的修复是:

  • 如果你是一个大单位且编辑器立即开始滞后,暂停。让它赶上来,继续前进。

这真的很烦人,但对我有用。

我还关闭了许多Code Insight功能,但我不知道它们是否会影响这个特定问题。他们确实帮助了一般编辑速度。在当时的Codegear论坛中向我推荐关闭它们。我不记得是谁,但我有一种模糊的感觉,它甚至可能是Codegear QA工作人员之一,他们知道这个bug但是试图看看我是否可以缩小影响或引起它的范围。这是几年前的事情,所以不要把它当作福音。

将文件拆分为较小的,例如< 5000行单位也可能有所帮助。对我来说,它只发生在大而复杂的文件上。

此问题似乎已在RAD Studio 2010中修复。避免错误的另一种方法是升级:)如果您这样做,请等待几天或先与销售人员交谈。下一个版本RAD Studio XE随时可用。我还是建议升级:你需要处理Unicode问题,但除了2010版本是我使用过的最好的版本,包括它的稳定性,我从版本1开始使用Delphi。

答案 2 :(得分:0)

首先要尝试删除两个附加软件包(GExperts和Delphi Speedup)。这可能是他们正在做的事情。

第二是尽力重现并提交问题。

第三是升级到Delphi的新版本,并希望它能解决您的问题,而不会创建新的。

答案 3 :(得分:0)

如果这种情况发生在两台独立的计算机上,但两者都是同一个项目,则问题很可能出在项目本身,而不是IDE。当然,您没有发布导致出现错误消息的任何代码,因此很难帮助您找出代码存在的问题。我发现问题不太可能是IDE,或者其他人会报告同样的问题(D2007已经出现并且已经被数百万开发人员多年使用)。

如果问题出在IDE本身,您应该可以使用新的空项目重现它。将旧项目中的足够代码复制并粘贴到新项目中以允许编译问题行,然后复制相同的更改 - >按Enter键添加新行 - 执行相同的断言失败然后异常终止发生?

如果您无法在新项目中重现问题,则问题最有可能出现在您的代码中,如果没有看到它,很难说出可能导致它的原因。