我是OSX开发的新手。我目前正在编写一个具有自己的(跨平台)自定义基于XML的文件类型的应用程序。
我想编写一个快速查看插件,以便在查找程序中看起来很好,并且找到了关于它应该如何工作的教程,但显然我必须做错事,因为我在/ var / log /中看到我的Quick Look插件运行时遇到段错误的system.log。我想知道它在哪里崩溃,但我不能为我的生活找出如何做到这一点。
OSX在哪里存储核心转储(如果它甚至这样做)?我是否需要设置一些系统选项或启用它?
如何让Xcode查看这些核心转储?
我迷路了。
答案 0 :(得分:11)
编辑 SIP阻止您调试受保护的进程。因此,目前(至少自从SIP被引入,通过Mojave)无法在不关闭SIP(至少部分)的情况下调试QuickLook插件。
您可能已经发现,由于您的QuickLook插件是插件而不是独立的可执行文件,因此您需要调试承载插件的进程。为此,您可以将自己挂钩到qlmanage
可执行文件。
第一步是使.qlgenerator插件可用于Quick Look服务器。为此,您需要将其复制到〜/ Library / QuickLook并运行qlmanage -r
。第一个可以实现为构建后操作,第二个必须在调试选项中指定。
对于构建后操作,您应该按照以下步骤操作:
rm -Rf "~/Library/QuickLook/$FULL_PRODUCT_NAME"
cp -R "$BUILT_PRODUCTS_DIR/$FULL_PRODUCT_NAME" ~/Library/QuickLook
qlmanage -r
然后,您需要配置Xcode以启动qlmanage
:
现在,当您使用“运行”操作时,您将能够通过qlmanage
调试插件。
答案 1 :(得分:0)