我正在使用 Apple 的DriverKitUserClientSample
代码作为基础,但我正在尝试使用PCIDriverKit
. 在我的MyClass::Start
方法中,我成功地从提供者那里获得,并IOPCIDevice
调用它,获得正确的值。当我使用. 我将指向 this 的指针保存为结构中的成员。Open()
GetBusDeviceFunction()
MyClass::Start
DriverKitSampleApp
IOPCIDevice
MyClass::IVars
安装 DEXT 后,我想使用我正在编写的用户程序访问同一设备,该程序调用不同的方法MyClass::Foo
。但是当我尝试运行相同的两个函数Open()
和/或GetBusDeviceFunction()
从我的方法运行时,MyClass::Foo
我会遇到内核崩溃。使用 LLDB,我看到在访问对象时我得到了 GPF IOPCIDevice
,即使我仍然可以MyClass::IVars
毫无问题地访问结构的其他成员(整数、字符等)。
我究竟做错了什么?有什么提示吗?