Kext驱动程序找不到符号OSPrintBacktrace

时间:2016-12-28 11:30:41

标签: macos driver kernel-extension xnu

我正在调用我的一个iokit命令时使用以下函数。它在

中定义
extern void OSPrintBacktrace(void);

然而,我的kext似乎我的kext无法加载,因为它无法找到此符号..

 12/26/16 10:02:53.000 AM kernel[0]: kxld[com.my.driver]: The following symbols are unresolved for this kext:
 12/26/16 10:02:53.000 AM kernel[0]: kxld[com.my.driver]: _OSPrintBacktrace

虽然它确实存在于内核二进制文件

 nm /System/Library/Kernels/kernel  | grep OSPrintBacktrace
 ffffff8000837290 T _OSPrintBacktrace

有谁能告诉我这里缺少什么?

1 个答案:

答案 0 :(得分:0)

函数OSPrintBacktrace不是任何(公共)KPI的一部分。然而OSReportWithBacktrace是(libkern),所以你可能最好使用它。或者,您也可以使用OSBacktrace