Драйвер Kext не может найти символ OSPrintBacktrace

Я использую следующую функцию, когда вызывается одна из моих команд 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

Может ли кто-нибудь сказать мне, что мне здесь не хватает?


person Community    schedule 28.12.2016    source источник


Ответы (1)


Функция OSPrintBacktrace не является частью ни одного из (общедоступных) KPI. OSReportWithBacktrace однако (libkern), поэтому вам, вероятно, лучше использовать его. Кроме того, вы также можете использовать OSBacktrace.

person pmdj    schedule 21.01.2017