调试.net web应用程序中的bad_alloc异常

Debugging bad_alloc exception from .NET web application

本文关键字:bad alloc 异常 net web 应用程序 调试      更新时间:2023-10-16

我正在将Visual c++桌面应用程序转换为。net web应用程序。在这样做的过程中,我试图保留最初在桌面应用程序中使用的后端Visual c++ dll。为了从这些dll中删除全局变量,我遇到了一个bad_alloc异常的问题。这个异常似乎是随机出现的,我试图在使用许多try/catch的较低级代码中精确定位它。我试过以下方法,但都不太成功:

1)打开Debug->Exceptions中的c++ Exceptions。(异常被捕获,但是调用堆栈对于定位导致问题的变量甚至函数都没有帮助)。2)尝试在DebugDiag中为VS调试器web服务器进程创建内存泄漏规则。(没有发现泄漏)。

任何其他追踪这个的策略都将非常有帮助!

通常c++操作符new()调用C的malloc()函数。当malloc()返回0时,new操作符抛出bad_alloc。Malloc()可能会因为内存不足或堆损坏而返回0。