1

当我的 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

谁能告诉我我在这里想念什么?

4

1 回答 1

0

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

于 2017-01-21T18:31:02.970 回答