【发布时间】:2020-03-21 12:17:41
【问题描述】:
在我们的自定义 kext 中访问 SMB 协议的“离线”属性时面临内核恐慌。如何在 MAC OS Catalina 上调试这些内核崩溃。
由于只读文件系统,Catalina 不支持调试内核扩展步骤。带有 IOKit.framework 的 kext 也不会在 MAC OS 10.14.x 上加载并出现错误
根据文档 https://developer.apple.com/library/archive/documentation/Darwin/Conceptual/KEXTConcept/KEXTConceptDebugger/debug_tutorial.html#//apple_ref/doc/uid/20002367-CHDIHFDI,没有“/Volumes/KernelDebugKit/mach_kernel”,
gdb -arch i386 /Volumes/KernelDebugKit/mach_kernel无法创建 PanicDumps 目录以通过“/”卷下的 kdump 守护进程收集恐慌,因为 Catalina 是只读文件系统 参考:https://developer.apple.com/library/archive/technotes/tn2004/tn2118.html
无法加载带有 IOKit 框架引用的 kext,在 MAC OS 10.14 上出现错误以进行调试:
The super class vtable '__ZTV9IOService' for vtable '__ZTV23com_microfocus_cisiokit' is out of date. Make sure your kext has been built against the correct headers.
The super class vtable '__ZTV12IOUserClient' for vtable '__ZTV8cisiokit' is out of date. Make sure your kext has been built against the correct headers.
是否有任何文档指定如何在设置只读文件系统的 mac os catalina 上调试内核崩溃?
注意:禁用 SIP 也不起作用。
提前致谢。
【问题讨论】:
-
你在这里问了 2 个完全不相关的问题 - please don't do that in future。
-
"bc its read-only",你可以重新挂载它为读写并关闭啜饮。 2、你是要实时调试吗?否则/Library/Logs/Diagn..下自动生成的panic日志应该足够了
标签: macos macos-catalina iokit kernel-extension panic