Profiling and Memory Checking Tools: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 3: Line 3:
= Tools for Profiling and Memory Checking =
= Tools for Profiling and Memory Checking =


This is a collection of tools for profiling and memory checking. It's mostly a summary of programs/libraries mentioned in the forums, notably in threads "Advice on checking for memory leaks and dangling resources?"/forums/viewthread/1924 and "Other tools for Qt Development":/forums/viewthread/2248/.
This is a collection of tools for profiling and memory checking. It's mostly a summary of programs/libraries mentioned in the forums, notably in threads "Advice on checking for memory leaks and dangling resources?"/forums/viewthread/1924 and "Other tools for Qt Development":/forums/viewthread/2248/.


=== Linux, Mac OS X ===
=== Linux, Mac OS X ===
Line 9: Line 9:
Valgrind is the tool of choice for analyzing a variety of issues on Linux and Mac OS X. It uses individual tools for specific analysis like profiling and memory checking. Qt Creator's Analyze mode integrates Valgrind, and provides both memory checking and profiling functionality from within the IDE. Valgrind needs to be installed for that to work. Valgrind is not available on Windows, but since memory issues are usually not platform dependent, analysis can be done on Linux or Mac OS X as well.
Valgrind is the tool of choice for analyzing a variety of issues on Linux and Mac OS X. It uses individual tools for specific analysis like profiling and memory checking. Qt Creator's Analyze mode integrates Valgrind, and provides both memory checking and profiling functionality from within the IDE. Valgrind needs to be installed for that to work. Valgrind is not available on Windows, but since memory issues are usually not platform dependent, analysis can be done on Linux or Mac OS X as well.


* &quot;Valgrind&amp;quot;:http://valgrind.org/<br />There is a tutorial on how to debug C++ code with Valgrind on Linux at http://devmentor.posterous.com/debugging-with-valgrind
* "Valgrind":http://valgrind.org/
* &quot;KCacheGrind&amp;quot;:http://kcachegrind.sourceforge.net/html/Home.html<br />Visualizer for Valgrind profiling results
There is a tutorial on how to debug C++ code with Valgrind on Linux at http://devmentor.posterous.com/debugging-with-valgrind
* &quot;Valkyrie&amp;quot;:http://www.valgrind.org/downloads/current.html<br />Qt4-based GUI for the Valgrind 3.6.x and 3.7.x series
* "KCacheGrind":http://kcachegrind.sourceforge.net/html/Home.html
* &quot;Massif Visualizer&amp;quot;:https://projects.kde.org/projects/extragear/sdk/massif-visualizer<br />visualizer for the massif (one of the valgrind tools) output
Visualizer for Valgrind profiling results
* &quot;AddressSanitizer&amp;quot;:https://blog.qt.io/blog/2013/04/17/using-gccs-4-8-0-address-sanitizer-with-qt/ Memory monitoring tool built into gcc 4.8 and clang
* "Valkyrie":http://www.valgrind.org/downloads/current.html
Qt4-based GUI for the Valgrind 3.6.x and 3.7.x series
* "Massif Visualizer":https://projects.kde.org/projects/extragear/sdk/massif-visualizer
visualizer for the massif (one of the valgrind tools) output
* "AddressSanitizer":https://blog.qt.io/blog/2013/04/17/using-gccs-4-8-0-address-sanitizer-with-qt/ Memory monitoring tool built into gcc 4.8 and clang


=== Windows ===
=== Windows ===


* &quot;AQTime&amp;quot;:http://smartbear.com/products/development-tools/performance-profiling/ (commercial)<br />can detect memory leaks, but is mainly for profiling
* "AQTime":http://smartbear.com/products/development-tools/performance-profiling/ (commercial)
* &quot;Bounds Checker&amp;quot;:http://www.microfocus.com/products/micro-focus-developer/devpartner/index.aspx
can detect memory leaks, but is mainly for profiling
* &quot;Deleaker&amp;quot;:http://deleaker.com/ (commercial) detects memory, GDI and other leaks
* "Bounds Checker":http://www.microfocus.com/products/micro-focus-developer/devpartner/index.aspx
* &quot;Dr.Memory&amp;quot;:http://www.drmemory.org/ (Open-source memory monitoring tool)
* "Deleaker":http://deleaker.com/ (commercial) detects memory, GDI and other leaks
* &quot;Intel Parallel Inspector&amp;quot;:http://software.intel.com/en-us/articles/intel-parallel-inspector/ (commercial)
* "Dr.Memory":http://www.drmemory.org/ (Open-source memory monitoring tool)
* &quot;Luke Stackwalker&amp;quot;:http://lukestackwalker.sourceforge.net/ (Open-source CPU profiler based on sampling)
* "Intel Parallel Inspector":http://software.intel.com/en-us/articles/intel-parallel-inspector/ (commercial)
* &quot;Rational Purify&amp;quot;:http://www-01.ibm.com/software/awdtools/purify/win/ (commercial)
* "Luke Stackwalker":http://lukestackwalker.sourceforge.net/ (Open-source CPU profiler based on sampling)
* &quot;Visual Leak Detector&amp;quot;:http://vld.codeplex.com/
* "Rational Purify":http://www-01.ibm.com/software/awdtools/purify/win/ (commercial)
* &quot;Very Sleepy&amp;quot;:http://www.codersnotes.com/sleepy (Open-source CPU profiler based on sampling)
* "Visual Leak Detector":http://vld.codeplex.com/
* "Very Sleepy":http://www.codersnotes.com/sleepy (Open-source CPU profiler based on sampling)
* Visual Studio Profiler (up to VS 2010 only in the ultimate version, VS 11 will have it in the professional version)
* Visual Studio Profiler (up to VS 2010 only in the ultimate version, VS 11 will have it in the professional version)

Revision as of 08:39, 25 February 2015


Tools for Profiling and Memory Checking

This is a collection of tools for profiling and memory checking. It's mostly a summary of programs/libraries mentioned in the forums, notably in threads "Advice on checking for memory leaks and dangling resources?"/forums/viewthread/1924 and "Other tools for Qt Development":/forums/viewthread/2248/.

Linux, Mac OS X

Valgrind is the tool of choice for analyzing a variety of issues on Linux and Mac OS X. It uses individual tools for specific analysis like profiling and memory checking. Qt Creator's Analyze mode integrates Valgrind, and provides both memory checking and profiling functionality from within the IDE. Valgrind needs to be installed for that to work. Valgrind is not available on Windows, but since memory issues are usually not platform dependent, analysis can be done on Linux or Mac OS X as well.

There is a tutorial on how to debug C++ code with Valgrind on Linux at http://devmentor.posterous.com/debugging-with-valgrind

Visualizer for Valgrind profiling results

Qt4-based GUI for the Valgrind 3.6.x and 3.7.x series

visualizer for the massif (one of the valgrind tools) output

Windows

can detect memory leaks, but is mainly for profiling