2016-12-28 38 views
1

我在调用其中一个iokit命令时正在使用以下函数。它Kext驱动程序找不到符号OSPrintBacktrace

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

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