macos - 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 文档是正确的。
有什么想法我可以克服这个吗?
谢谢你,凯文
解决方案
我可以确认 XCode SDK 10.13 WORKS 和 XCode SDK 10.14 Dos 不起作用。
笔记:
- 可以同时安装不同版本的 XCode,我没有
- 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 虚拟机上:
- 将 macOS 虚拟机回滚到 High Sierra 10.13.6
- 安装 XCode 9.4.1(生成 SDK 10.13.6)
- 为 XCode 9.4.1 安装了 XCode 命令行工具
- 删除文件夹 PAServer\scratch-dir
- 启动 PAServer
在开发虚拟机上
- 删除了 OSX 10.14 SDK
- 添加了(现在)OSX 10.13 SDK
- 创建了一个简单的项目(只是一个表单)
- 建了那个项目
- 部署了那个项目
在 macOS 虚拟机上:
- 定位到 Project.app
- 运行该项目并且它有效
我重复了一个更复杂的项目的构建和运行,它运行良好,没有异常程序终止 (BDS) 错误的迹象。
推荐阅读
- php - 为什么通过 php 运行 Ratchet websocket 服务器会挂起浏览器请求?
- linux - 'arecord' 有效,但 FFMPEG '无法打开音频设备'
- python - 如何使用 Python 检查一年是否是闰年?
- apache-spark - PySpark MLLib 随机森林分类器可重复性问题
- amazon-web-services - 使用 NGINX 为网站的 QA 和 WWW 版本设置代理
- python - 如何在出现此错误的 vscode 中下载 python linter
- formatting - Qnx-neutrino 无法使用 fdisc 格式化我的分区,进程冻结
- r - 更改 R 图中图例的颜色
- android - Android 应用内购买:BillingClient:getPurchase() 失败。响应码:3
- jquery - 用于多项目显示的 Bootstrap 4 轮播包装问题