访问冲突dcc70.dll

时间:2013-06-09 12:39:37

标签: delphi delphi-7

Delphi 7编译器在链接阶段似乎崩溃了。

这是错误:

  

模块'dcc70.dll'中地址00C01A1A的访问冲突。读取地址F0002104。

1 个答案:

答案 0 :(得分:3)

当在项目选项链接器配置中打开生成远程调试符号(RSM)时,如果在处理程序的try..except中使用的异常对象的属性在Delphi 7的单元的最终化中,则会发生这种情况。

procedure Log(m: string);
begin end;

initialization
finalization
  try
  except
    on E : exception do
      Log(e.className);
  end;
end.

解决这个问题的方法在其他情况下可能会有用。为解决此问题,使用SysInternals procmon.exe跟踪dcc32.exe,该dcc32.exe在访问rsm文件生成期间显示崩溃。 (通过使用procmon跟踪Delphi IDE很难确定这一点,因为IDE会在崩溃后执行许多其他操作)。将成功构建的rsm的文件内容与失败的构建进行比较,从错误文件中的点开始显示要调查的单元名称。考虑到来自先前工作副本的单元差异,然后在该单元上的每次更改之后尝试2次编译,孤立了确切的问题。

不知道为什么第一次编译不会导致崩溃,但是在第二次编译时没有任何更改会导致崩溃。