首页 > 解决方案 > BDS 异常程序终止(macOS 构建)

问题描述

我正在使用德尔福 10.2.3。昨天我正在为 OSX 构建没有问题(我想)。现在,每次我尝试为 OSX(OSX 10.14 的 SDK)进行构建时,我都会收到异常程序终止,并且 BDS 被吹走。有时我会收到 List Index Out of Bounds (48) 错误 - 如果我没有激活 10.14 SDK。当然,如果我让它激活,BDS 就会被异常程序终止所震撼

现在这是 100% 可重复的。我认为安装可能已损坏,但我没有看到任何修复选项,只是完全卸载并重新安装,如果可以的话,希望避免这种情况(甚至不确定是否可以解决问题)。

我在 10.2.3 版本中看到了一个据称已修复的问题:

RSP-19828:为 OSX 编译会导致“程序异常终止”(bds.exe) 编译器、编译器\Delphi、FireMonkey

但是这个问题只是客户端macOS系统上没有安装XCode。我可以确认 XCode 正在 macOS VM 上运行,并且之前使用 Delphi 10.2.3 创建的应用程序可以部署并运行,所以发生了一些变化,但我不知道是什么?或更重要的是,如何找到它。

因为这是几天前工作的,即。我可以构建并部署到 macOS(请参阅我的另一个问题 WRT 让 Dylib 做出响应),我已经将 VM 绕回一周左右到较早的快照以确保,但仍然出现错误。代码很简单,一个带有按钮的屏幕,两天前运行良好,我仍然拥有在 macOS VM 上构建和部署的版本。所以那种指向macOS方面?所以我用我的物理macbook(上周再次工作)尝试了它,并且在构建时完全相同,程序异常终止并且BDE被吹走。那么,回到第一方,显然我在 Windows/Delphi 方面做错了什么?

作为测试,我创建了一个没有任何内容的全新项目,即只是一个空白屏幕。每当我尝试编译或构建时,它都会将 BDS 吹走。这是一个绝对的b1ocker。我已经在 Embarcadero 网站上发布过,但到目前为止还没有。

FWIW、Delphi 10.2.3 和 OSX SDK 是 10.14,根据 Embarcadero 文档是正确的。

有什么想法我可以克服这个吗?

谢谢你,凯文

标签: macosdelphidelphi-10.2-tokyo

解决方案


我可以确认 XCode SDK 10.13 WORKS 和 XCode SDK 10.14 Dos 不起作用。

笔记:

  1. 可以同时安装不同版本的 XCode,我没有
  2. XCode 版本 9.4.1 可能会在 High Sierra 10.14 上运行,我确定将我的 VM 回滚到 High Sierra 10.13.6

编辑:我可以确认使用 SDK 10.13 生成的应用程序可以在 High Sierra 10.14 上运行(因此无需将您的 VM 从 10.14 回滚到 10.13.6)。

这就是我所做的,一步一步:

在 macOS 虚拟机上:

  1. 将 macOS 虚拟机回滚到 High Sierra 10.13.6
  2. 安装 XCode 9.4.1(生成 SDK 10.13.6)
  3. 为 XCode 9.4.1 安装了 XCode 命令行工具
  4. 删除文件夹 PAServer\scratch-dir
  5. 启动 PAServer

在开发虚拟机上

  1. 删除了 OSX 10.14 SDK
  2. 添加了(现在)OSX 10.13 SDK
  3. 创建了一个简单的项目(只是一个表单)
  4. 建了那个项目
  5. 部署了那个项目

在 macOS 虚拟机上:

  1. 定位到 Project.app
  2. 运行该项目并且它有效

我重复了一个更复杂的项目的构建和运行,它运行良好,没有异常程序终止 (BDS) 错误的迹象。


推荐阅读