我有一个用 C++ 编写的在 Internet Explorer 8 中运行的 ActiveX 控件。大多数时候(大约 90%)当包含该控件的选项卡或浏览器关闭时,会出现如下访问冲突:
The thread 'Win32 Thread' (0x1bf0) has exited with code 0 (0x0).
Unhandled exception at 0x77b3b9fd in iexplore.exe: 0xC0000005: Access violation reading location 0x65007408.
访问冲突发生在调用 OnDestroy() 之后但在调用控件的析构函数之前。
调试输出说:
No symbols are loaded for any call stack frame. The source code cannot be displayed.
我的代码都没有出现在堆栈跟踪中,尽管堆可能在执行期间的某个较早时间点被损坏。
ActiveX 控件在调用 OnDestroy() 和控件的析构函数之间接收哪些生命周期事件?