gpt4 book ai didi

c# - 是否可以从 .net 应用程序禁用 c++ 断言

转载 作者:可可西里 更新时间:2023-11-01 18:37:19 24 4
gpt4 key购买 nike

我有以下问题:我使用我的 WPF 应用程序中的 C++ 库,该库在极少数情况下会引发断言。它显示了一个带有 C++ 文件名、行号和断言表达式的漂亮对话框。所以问题是:假设我没有源代码,我可以禁用 c++ 库中的断言吗?我真正需要的是“捕捉”这个断言并将其记录下来。

谢谢。

最佳答案

一种方法是创建一个线程,每隔一段时间执行EnumWindows 并检测是否弹出断言窗口,然后它可以捕获消息并单击忽略按钮。这仍然会导致窗口显示一小段时间(取决于您在 EnumWindows 之间的间隔,但我假设您的客户不会获得调试 DLL,因此这无关紧要。


另一种选择是调用 _CrtSetReportMode(_CRT_ASSERT, 0)完全禁止显示断言。如果您想从 .NET 中调用 PInvoke,请注意 _CRT_ASSERT 等于 2。

关于c# - 是否可以从 .net 应用程序禁用 c++ 断言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4144969/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com