我有一个使用 FastMM4 的 D2006 应用程序(例如,它在 DPR 文件的 uses 子句的开头有“FastMM4”)。我知道 Delphi 无论如何都使用 FastMM4 作为它的内存管理器,但是下载的版本有更多的调试转储选项。
我最近尝试在运行 Windows XP Embedded 的单板平板型工业 PC 上运行该应用程序。该处理器是非英特尔“Vortex”芯片。该应用程序在启动时因内存错误而失败,然后退出并出现 FastMM4 关于在释放内存后访问内存的投诉。
从源代码中删除 FastMM4 的所有痕迹似乎可以治愈它 - 应用程序运行良好。
我的问题。导致此问题的 FastMM4 的下载版本是什么?我见过一些关于 FastMM4 和非 Intel 处理器崩溃的轶事,似乎与使用 ASM 代码有关。FastMM4 包含一个强制生成非 ASM 代码的指令,但这并不能解决问题。
我有点担心集成 D2006 版本的 FastMM4 可能仍然存在问题,但我还没有看到。