gpt4 book ai didi

c++ - WinDbg 是否能够检测到由于无效向下转换而导致的内存堆损坏?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:05:34 25 4
gpt4 key购买 nike

这是我刚刚发现的错误!万岁。该错误是由于不正确的向下转换引起的,实际上我正在使用 static_cast而不是 dynamic_cast .

我的应用程序非常大并且是多线程的并且与其他应用程序交互。所以调试非常困难。我试过使用 WinDbg , GFlags , 和 Application Verifier没有结果。当然是因为我不知道如何使用这些工具。

是否有可能通过使用 WinDbg 等工具找到由于无效向下转换而导致的内存堆损坏?如果是,如何?

最佳答案

Windbg !heap –s –v 命令可以揭示损坏的堆

0:008> !heap -s -v

Heap Flags Reserv Commit Virt Free List UCR Virt Lock Fast
(k) (k) (k) (k) length blocks cont. heap
-----------------------------------------------------------------------------
.ERROR: Block 001842e8 previous size 0 does not match previous block size 4
HEAP 00140000 (Seg 00140640) At 001842e8 Error: invalid block Previous

关于c++ - WinDbg 是否能够检测到由于无效向下转换而导致的内存堆损坏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8745635/

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