<分区>
背景资料: 我们的应用程序使用由外部供应商编写的组件。该组件有时会因 C++ 运行时错误“调用纯虚函数”对话框而崩溃。我们将应用程序部署在 LCD 显示器上,我们希望崩溃只是崩溃,因为我们有一个流程可以在应用程序崩溃时重新启动它。
我们确定问题的根源在于供应商提供的组件,我们无法修改,因为我们没有源代码。如果我们能够在崩溃时自动重启应用程序,我们可以等待供应商提供的解决方案。问题在于,在用户单击错误的“确定”按钮之前,应用程序不会崩溃,因此我们无法检测到进程已停止运行。
我构建了一个小型测试应用程序,一个普通的 Win32 GUI 应用程序,我向其中添加了以下代码:
class A
{
public:
A();
protected:
virtual void myTest() = 0;
void zubzub();
};
class B : public A
{
protected:
virtual void myTest();
};
A::A()
{
zubzub();
}
void B::myTest()
{
}
void A::zubzub()
{
this->myTest();
}
然后,在 VS 生成的 win32 应用程序模板中弹出窗口后,我创建了一个 A 的实例,瞧!我有模态对话框。我尝试了解决方案 here但它仍然显示错误对话框。
有关如何抑制该对话框并静默崩溃的任何线索