我正在开发一个.NET 4应用程序(WPF),它使用的是旧的C++-Library。这个库是错误的,有时我会得到纯粹的虚拟函数调用。(我对那个图书馆无能为力.)
我已经使用来自_set_purecall_handler的msvcr100.dll设置了一个处理程序。在调试期间,我还可以确认是否调用了我的处理程序。但是,在离开我的处理程序之后,应用程序将显示MessageBox通知纯虚拟函数调用,然后退出应用程序。
如何防止这个messagebox显示并继续运行该应用程序?
发布于 2015-06-02 09:16:13
由于无法安全地从对纯虚拟函数的调用中恢复,所以在向用户报告错误后,pure处理程序将终止该进程。如果您的处理程序返回而不是终止,则假定它什么也没做,默认的处理开始了。
只需在处理程序的末尾调用exit(0)或类似的命令,原始对话框就会被取消。
https://stackoverflow.com/questions/30591832
复制相似问题