2016-12-28 37 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