抑制消息框R6025纯虚函数调用

Suppress Message Box R6025 Pure Virtual Function Call

本文关键字:函数调用 R6025 消息      更新时间:2023-10-16

我正在开发一个使用旧C++-Library.NET 4应用程序(WPF)。这个库有bug,有时我得到纯虚函数调用。(而且我对那个库也无能为力…)

我已经从msvcr100.dll使用_set_purecall_handler设置了一个处理程序。在调试期间,我还可以确认调用了我的处理程序。然而,在离开我的处理程序之后,应用程序显示MessageBox通知纯虚函数调用,然后退出应用程序。

我怎样才能防止这个messagebox显示并继续运行应用程序?

由于没有办法从对纯虚函数的调用中安全地恢复,因此purecall处理程序应该在向用户报告错误后终止该进程。如果您的处理程序返回而不是终止,则假定它没有做任何事情,并启动默认处理。

只需在处理程序末尾调用exit(0)或类似的方法,原始对话框将被抑制。