我正在使用C#,C++/CLI和非託管C++庫的64位應用程序。針對使用C#,C++/CLI和非託管C++的應用程序的內存分析工具
我特別感興趣的是發現非託管代碼中的內存泄漏。
我試圖使用ANTS分析器 - 雖然它非常適合C#應用程序,但它不提供非託管代碼中的內存泄漏信息。
我知道PurifyPlus是一個很好的C++工具,我發現它也支持.NET應用程序。但不幸的是,它不支持64位應用程序。
我期待着看看有人有更好的建議在這裏..
非常感謝!
我正在使用C#,C++/CLI和非託管C++庫的64位應用程序。針對使用C#,C++/CLI和非託管C++的應用程序的內存分析工具
我特別感興趣的是發現非託管代碼中的內存泄漏。
我試圖使用ANTS分析器 - 雖然它非常適合C#應用程序,但它不提供非託管代碼中的內存泄漏信息。
我知道PurifyPlus是一個很好的C++工具,我發現它也支持.NET應用程序。但不幸的是,它不支持64位應用程序。
我期待着看看有人有更好的建議在這裏..
非常感謝!
如果您確實有源代碼,您可以使用Visual Leak Detector。 但是,您可能需要從VC++(DLL項目)中調試.NET可執行文件。在VC++項目中,除了設置調試目標外,還要選擇「混合」模式調試。這與C#中的「啓用非託管調試」非常相似。
只是一個FYI,最新版本可以在這裏找到http://vld.codeplex.com/ –
你可以嘗試AQTime其中既包括淨和本地廓線儀(http://smartbear.com/products/free-tools/aqtime-standard/)
另一種選擇是掌握微軟xperf這些工具肯定會完成這項工作,但其學習曲線相當陡峭。 (http://msdn.microsoft.com/en-us/performance)
如果它在64位模式下泄漏,那麼它也會以32位模式泄漏。 –
@Hans Passant - 問題是我的C++庫,已經被編譯爲64位,所以我只能使用這些編譯64位應用程序。而且我也無法訪問C++源代碼。 – Snehal