是否可以从.net app禁用c ++ assert

Ale*_*nov 7 c# c++

我有以下问题:我使用来自我的WPF应用程序的c ++库,该库在一些非常罕见的情况下抛出一个断言.它显示了一个很好的对话框,其中包含c ++文件名,行号和断言表达式.所以问题是:我可以在c ++库中禁用断言,假设我没有源代码.我真正需要的是"捕获"这个断言并记录它.

谢谢.

Wil*_*ean 1

根据您的汇编技能以及是否有意采取步骤来阻止此类内容,通常可以修改二进制代码以防止显示此类消息。

然而,断言触发通常是一些更严重的崩溃或其他不当行为的前兆,因此仅仅停止消息框可能不会让您走得更远。当然,有些断言是有缺陷的,所以这可能就是您所需要的。

如果我必须修改这个 DLL,我会用 IDA 对其进行反汇编并制作补丁。隐藏断言可能相当容易,但记录它则困难得多。