2016-12-28 17 views
1

내 iokit 명령 중 하나가 호출 될 때 다음 기능을 사용하고 있습니다. 그것은 바이너리 커널에 존재 않지만, 내 KEXT가Kext 드라이버가 기호를 찾을 수 없습니다. OSPrintBacktrace

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 

.. 내 KEXT가이 기호를 찾을 수 없기 때문에로드에 실패 할 것으로 보인다 그러나

extern void OSPrintBacktrace(void); 

에 정의

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

아무도 내가 여기에서 무엇을 놓치고 있는지 말해 줄 수 있습니까?

답변

1

기능 OSPrintBacktrace은 (공개) KPI에 포함되어 있지 않습니다. 그러나 OSReportWithBacktrace은 (libkern)이기 때문에 아마도 이것을 사용하는 것이 가장 좋습니다. 또는 OSBacktrace을 사용할 수도 있습니다.