4

我正在使用 Visual Studio 2017 Community 编写 C# 应用程序。我有一个内存泄漏问题,可能与我滥用一个在本机堆上分配东西的 DLL 有关。我想知道我是如何导致 DLL 不断分配大量内存的。

诊断工具似乎是完成这项工作的理想工具,具有内存快照功能。不幸的是,内存快照仅提供有关托管堆的信息,这在我的情况下非常稳定。

在运行调试器之前,我尝试转到诊断工具设置 -> 内存分析器工具 -> 配置 -> 使用快照启用本机堆分析,但我仍然只能在我的快照中获得托管堆信息。

我尝试在不启用本机堆分析、中断和仅启用本机堆分析的情况下启动调试器。如果我尝试拍摄快照,那么诊断工具会卡在拍摄快照...进度条上。

有人有类似的问题吗?

4

1 回答 1

5

终于想通了。当然,您需要为您的项目启用原生调试:

项目属性 -> 调试 -> 启用本机代码调试

于 2017-09-12T09:19:45.787 回答