gpt4 book ai didi

c++ - 查找堆损坏

转载 作者:可可西里 更新时间:2023-11-01 10:09:02 25 4
gpt4 key购买 nike

这是我之前问题的延伸,Application crash with no explanation .

我有很多崩溃可能是由应用程序服务器上的堆损坏引起的。这些崩溃只发生在生产中;它们无法在测试环境中重现。

我正在寻找一种方法来追踪这些崩溃。

建议使用 Application Verifier,它会很好,但它不能用于我们的生产服务器。当我们尝试使用应用程序验证器在生产环境中启动它时,它变得非常慢以至于完全无法使用,即使这是一个相当强大的服务器(64 位应用程序、16 GB 内存、8 个处理器)。在没有应用程序验证器的情况下运行它,它只使用大约 1 GB 的内存和不超过任何处理器周期的 10-15%。

是否有任何其他工具可以在不增加大量开销的情况下帮助查找堆损坏?

最佳答案

使用 Microsoft 运行时库的调试版本。通过在初始化期间调用一次 _CrtSetDbgFlag(),打开红色分区并让您的堆每 128(比方说)堆操作自动检查一次。

_CRTDBG_DELAY_FREE_MEM_DF 对于查找释放后使用的内存错误非常有用,但您的堆大小在使用它时会单调增长。

关于c++ - 查找堆损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5353057/

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