Xcode 调试快速查看插件

Xcode 调试快速查看插件,xcode,macos,debugging,quicklook,Xcode,Macos,Debugging,Quicklook,我对OSX开发相当陌生。我目前正在编写一个应用程序,它有自己的(跨平台)自定义基于XML的文件类型 我想写一个quick look插件,以便在finder中看起来不错,并且已经找到了关于这应该如何工作的教程,但是显然我一定是做错了什么,因为我在/var/log/system.log中看到,当运行quick look插件时,我得到了一个segfault。我想看看它在哪里崩溃,但我一辈子都想不出该怎么做 OSX在哪里存储核心转储(如果它确实这样做的话)?我需要设置一些系统选项或什么来启用它吗 如何让

我对OSX开发相当陌生。我目前正在编写一个应用程序,它有自己的(跨平台)自定义基于XML的文件类型

我想写一个quick look插件,以便在finder中看起来不错,并且已经找到了关于这应该如何工作的教程,但是显然我一定是做错了什么,因为我在/var/log/system.log中看到,当运行quick look插件时,我得到了一个segfault。我想看看它在哪里崩溃,但我一辈子都想不出该怎么做

OSX在哪里存储核心转储(如果它确实这样做的话)?我需要设置一些系统选项或什么来启用它吗

如何让Xcode查看这些核心转储


我迷路了。

我没有亲自尝试过,但这一页:


描述了如何在Xcode 4-6中调试插件。这可能比事后尝试通过核心文件挖掘有用得多。

EDITSIP阻止您调试受保护的进程。正因为如此,目前(至少自SIP通过Mojave引入以来)不关闭SIP(至少部分关闭SIP)就无法调试QuickLook插件


正如您可能已经发现的,由于QuickLook插件是一个插件,而不是一个独立的可执行文件,因此您需要调试承载该插件的进程。为此,您可以将自己挂接到
qlmanager
可执行文件

第一步是使.qlgenerator插件可用于Quick Look服务器。为此,您需要将其复制到~/Library/QuickLook并运行
qlmanager-r
。第一个可以作为生成后操作实现,第二个必须在调试选项中指定

对于生成后操作,应遵循以下步骤:

  • 点击Alt+Cmd+R打开运行配置窗口
  • 展开左侧的“构建”选项卡,然后进入发布操作
  • 单击窗口底部的加号并选择“新建运行脚本操作”,然后使用以下代码
  • 绝对确保将“提供生成设置自”设置为QuickLook扩展目标
  • 然后,您需要配置Xcode以启动
    qlmanager

  • 在同一窗口中,进入“运行”选项卡,选择“信息”
  • 在可执行文件下拉菜单中,选择“其他…”
  • 点击Shift+Cmd+G输入路径,放入“/usr/bin/qlmanager”,选择该文件
  • 如果还没有“调试可执行文件”,则选中“调试可执行文件”
  • 移动到“参数”选项卡,添加“-p”参数,然后根据需要预览的文件添加合适的参数

  • 现在,当您使用Run操作时,您将能够通过
    qlmanager

    调试插件。我在运行此配置时收到消息:“由于系统完整性保护,无法连接到进程”。“我有什么遗漏吗?”DamiaanDufaux,让我看看我是否能找到另一种更好的方法,在启用SIP的情况下做到这一点。在此之前,您可以将
    qlmanage
    复制到文件系统上的任何其他位置,并从该副本中进行调试。OK qlmanage现在正在打开,但我仍然收到以下错误:
    第13个月超出范围
    CFMessagePort:bootstrap\u register():失败1100(0x44c)'Permission denied',port=0x9c03,name='com.apple.coredrag'
    CFMessagePort:bootstrap_register():failed 1100(0x44c)'Permission denied',port=0xc53b,name='com.apple.tsm.portname'
    @DamiaanDufaux,您可能已经得出了这个结论,但我现在有相当好的权威,调试qlgenerator的唯一方法,现在,是禁用SIP或自己加载qlgenerator并处理数据馈送和显示。读到您的编辑扩展我很惊讶。我找不到更多关于这个的信息。你有什么消息吗?
    rm -Rf "~/Library/QuickLook/$FULL_PRODUCT_NAME"
    cp -R "$BUILT_PRODUCTS_DIR/$FULL_PRODUCT_NAME" ~/Library/QuickLook
    qlmanage -r