2011-07-13 49 views
3

我正在使用C#,C++/CLI和非託管C++庫的64位應用程序。針對使用C#,C++/CLI和非託管C++的應用程序的內存分析工具

我特別感興趣的是發現非託管代碼中的內存泄漏。

我試圖使用ANTS分析器 - 雖然它非常適合C#應用程序,但它不提供非託管代碼中的內存泄漏信息。

我知道PurifyPlus是一個很好的C++工具,我發現它也支持.NET應用程序。但不幸的是,它不支持64位應用程序。

我期待着看看有人有更好的建議在這裏..

非常感謝!

+0

如果它在64位模式下泄漏,那麼它也會以32位模式泄漏。 –

+0

@Hans Passant - 問題是我的C++庫,已經被編譯爲64位,所以我只能使用這些編譯64位應用程序。而且我也無法訪問C++源代碼。 – Snehal

回答

2

如果您確實有源代碼,您可以使用Visual Leak Detector。 但是,您可能需要從VC++(DLL項目)中調試.NET可執行文件。在VC++項目中,除了設置調試目標外,還要選擇「混合」模式調試。這與C#中的「啓用非託管調試」非常相似。

+0

只是一個FYI,最新版本可以在這裏找到http://vld.codeplex.com/ –

1

你可以嘗試AQTime其中既包括淨和本地廓線儀(http://smartbear.com/products/free-tools/aqtime-standard/)

另一種選擇是掌握微軟xperf這些工具肯定會完成這項工作,但其學習曲線相當陡峭。 (http://msdn.microsoft.com/en-us/performance)

相關問題