delphi - 访问冲突 dcc70.dll

标签 delphi delphi-7

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

这是错误:

Access violation at address 00C01A1A in module 'dcc70.dll'. Read of address F0002104.

最佳答案

当在项目选项链接器配置中打开生成远程调试符号 (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,结果显示它在访问rsm文件生成期间崩溃了。 (通过使用 procmon 跟踪 Delphi IDE 很难确定这一点,因为 IDE 在记录崩溃后执行了许多其他操作)。将 rsm 成功构建的文件内容与失败构建的文件内容进行比较,从错误文件中的位置显示要调查的单元名称。考虑该单元与先前工作副本的差异,然后在该单元的每次更改后尝试进行 2 次编译,以隔离确切的问题。

尚不清楚为什么第一次编译不会导致崩溃,但在没有任何更改的情况下第二次编译时会导致崩溃。

关于delphi - 访问冲突 dcc70.dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17009692/

相关文章:

Delphi - 将 bmp 转换为 png 失败

windows - 如何有效地检索目录中的文件数?

delphi - Delphi 中的成功()函数?

delphi - 如何在Delphi XE6中使用DataSnap传递和返回Stream?

delphi - 为什么 SendInput Ctrl+V 在 Outlook 中不起作用?

delphi - 如果 Windows/Delphi/IDE 暗示小端顺序,我如何从大端二进制文件中读取整数?

windows - 在运行时确定弹出提示消息 (THintInfo::HintStr) 的大小

delphi 文本矩形 自动换行

delphi - 如何通过使用delphi替换给定字符串中带空格或不带空格的特殊字符

Delphi - 使用并行编程库中的 IFuture 读取大文件