簡體   English   中英

怎么辦!address -filter Windbg

[英]What to do with !address -filter Windbg

我目前正在研究一個應用程序正在為C ++應用程序使用大量私有內存的問題。 看起來很多是基於轉儲分析提交和保留內存。

我使用Windbg。 有什么方法可以看出提交和保留記憶中的確切含義是什么? 我把它縮小到一個特定的堆。

我的理論是它沒有被釋放。 我無法調試,我只有轉儲繼續。

我已經使用了命令!address -filter並獲得了很少的輸出,但我該如何前進?

任何建議都會有幫助。

您可以使用!heap -s命令獲取WinDbg中的內存使用信息。 上有泄漏檢測的教程使用WinDbg 這里

您可以通過幾種方法診斷內存泄漏:

后一個選項(UMDH工具)是WinDbg包的一部分,通常是調查內存泄漏的最簡單方法。 這兩個選項實際上都基於相同的功能,這是NT堆在分配時保持調用堆棧的能力以及分配的條目。

請注意,除了在堆中泄漏內存之外,您可能還有其他類型的泄漏會導致提交的內存空間增加。 例如,您可能直接調用VirtualAlloc並忘記了VirtualFree。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM