gpt4 book ai didi

c++ - 内存堆损坏和 GFlags/windbg

转载 作者:行者123 更新时间:2023-11-28 01:00:57 25 4
gpt4 key购买 nike

我有一个应用程序会产生内存堆异常(损坏)。

在网上我发现了这样一句话:

"GFlags.exe: A heap debug program. Using GFlags, you can establish standard, /full, or /dlls heap options that will force the operating system to generate access violations and corruption errors when your program overwrites heap memory. "

但具体来说,我如何使用 GFlags 或 Windbg 在我的源代码中找到导致错误的行?

网上有什么好的/合成的论文吗?

最佳答案

GFlags 可以导致 Windows 中的堆管理器以不同的方式运行以帮助调试堆问题。

当与 /full 选项一起使用时,如果您访问分配的缓冲区超过其长度,您的程序将由于访问冲突而“崩溃”。

(如果没有 GFlags /full,程序可能会继续运行,问题会在很久以后出现)您可以使用 VS 或 WinDbg 进行即时调试或收集故障转储。

调试器现在应该指向错误(指令指针)希望您会在源代码中找到导致错误的语句。

请注意,/full 选项会导致程序使用更多内存,因此只能用于相对较小的程序。如果 /full 选项不会导致“崩溃”,请尝试使用 /full/backwards

关于c++ - 内存堆损坏和 GFlags/windbg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8711224/

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