Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.

Profiling and Memory Checking Tools: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(Add "cleanup" tag)
(Convert ExpressionEngine links)
Line 11: Line 11:
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.


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


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


* "AQTime":http://smartbear.com/products/development-tools/performance-profiling/ (commercial)
* [http://smartbear.com/products/development-tools/performance-profiling/ AQTime] (commercial)
can detect memory leaks, but is mainly for profiling
can detect memory leaks, but is mainly for profiling
* "Bounds Checker":http://www.microfocus.com/products/micro-focus-developer/devpartner/index.aspx
* [http://www.microfocus.com/products/micro-focus-developer/devpartner/index.aspx Bounds Checker]
* "Deleaker":http://deleaker.com/ (commercial) detects memory, GDI and other leaks
* [http://deleaker.com/ Deleaker] (commercial) detects memory, GDI and other leaks
* "Dr.Memory":http://www.drmemory.org/ (Open-source memory monitoring tool)
* [http://www.drmemory.org/ Dr.Memory] (Open-source memory monitoring tool)
* "Intel Parallel Inspector":http://software.intel.com/en-us/articles/intel-parallel-inspector/ (commercial)
* [http://software.intel.com/en-us/articles/intel-parallel-inspector/ Intel Parallel Inspector] (commercial)
* "Luke Stackwalker":http://lukestackwalker.sourceforge.net/ (Open-source CPU profiler based on sampling)
* [http://lukestackwalker.sourceforge.net/ Luke Stackwalker] (Open-source CPU profiler based on sampling)
* "Rational Purify":http://www-01.ibm.com/software/awdtools/purify/win/ (commercial)
* [http://www-01.ibm.com/software/awdtools/purify/win/ Rational Purify] (commercial)
* "Visual Leak Detector":http://vld.codeplex.com/
* [http://vld.codeplex.com/ Visual Leak Detector]
* "Very Sleepy":http://www.codersnotes.com/sleepy (Open-source CPU profiler based on sampling)
* [http://www.codersnotes.com/sleepy Very 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 15:09, 4 March 2015

This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.

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