gpt4 book ai didi

c++ - 如何对非 .NET 应用程序/DLL 的内存使用情况进行分类?

转载 作者:行者123 更新时间:2023-11-30 04:40:52 24 4
gpt4 key购买 nike

我有一个 32 位 Visual Studio 8.0 C++ Windows DLL(非 .NET)占用的内存似乎比我预期的要多。我想确切地确定内存的去向,而不仅仅是使用的总内存的一个数字(对任务管理器或资源监视器的内存使用值不感兴趣)。回到 16 位时代,HeapWalker 非常有用,您甚至可以选择一个 BITMAP 句柄并查看它的图形内容。我试图记住如何阅读 .MAP 文件并将各个部分相加,但文档很少,而且我不确定该技术的准确性。有人有什么建议吗?

最佳答案

如果您需要查找 DLL 各个部分的大小,您可以使用 dumpbin.exe。它是一个用于检查 DLL 和可执行文件的命令行工具。请务必先运行 vcvars32.bat,然后再尝试运行它。

要查看 DLL 的实际内存消耗,我建议从 umdh.exe 开始。它作为 Microsoft 的 windbg 的一部分提供。只要您使用 pdb 构建文件,它就能够解析应用程序中的符号。然后,您可以拍摄几张内存快照以查找泄漏。您还可以对所有分配进行完整转储,以查看内存分配到哪里以及分配了多少内存。

关于c++ - 如何对非 .NET 应用程序/DLL 的内存使用情况进行分类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/698655/

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