在 macOS 上调试

调试 Godot 编辑器

将调试器附加到具有签名的 macOS 进程上需要“com.apple.security.get-task-allow”授权,默认未启用,因为启用时 App 无法进行公证。如果你想要调试官方构建的编辑器,就需要使用正确的授权重新进行签名。

创建包含如下内容的 editor.entitlements 文本文件:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3. <plist version="1.0">
  4. <dict>
  5. <key>com.apple.security.cs.allow-dyld-environment-variables</key>
  6. <true/>
  7. <key>com.apple.security.cs.allow-jit</key>
  8. <true/>
  9. <key>com.apple.security.cs.allow-unsigned-executable-memory</key>
  10. <true/>
  11. <key>com.apple.security.cs.disable-executable-page-protection</key>
  12. <true/>
  13. <key>com.apple.security.cs.disable-library-validation</key>
  14. <true/>
  15. <key>com.apple.security.device.audio-input</key>
  16. <true/>
  17. <key>com.apple.security.device.camera</key>
  18. <true/>
  19. <key>com.apple.security.get-task-allow</key>
  20. <true/>
  21. </dict>
  22. </plist>

然后使用以下命令对编辑器进行重新签名:

  1. codesign -s - --deep --force --options=runtime --entitlements ./editor.entitlements ./path/to/Godot.app

调试导出的项目

要允许调试,请在导出时选择 codesign\debuggingcom.apple.security.get-task-allow)授权。选中后不支持公证,所以应该将其禁用。