【问题标题】:Kext driver cannot find symbol OSPrintBacktraceKext 驱动程序找不到符号 OSPrintBacktrace
【发布时间】:2016-12-28 11:30:41
【问题描述】:

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

谁能告诉我我在这里缺少什么?

【问题讨论】:

    标签: macos driver kernel-extension xnu


    【解决方案1】:

    函数OSPrintBacktrace 不属于任何(公共)KPI。 OSReportWithBacktrace 是(libkern),所以你最好使用它。或者,您也可以使用OSBacktrace

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-17
      • 2016-07-14
      • 2016-08-05
      • 2016-09-03
      • 2022-01-23
      • 2012-02-09
      相关资源
      最近更新 更多