aboutsummaryrefslogtreecommitdiffstats
path: root/doc/qtcreator
diff options
context:
space:
mode:
authorLeena Miettinen <riitta-leena.miettinen@qt.io>2024-04-09 17:13:28 +0200
committerLeena Miettinen <riitta-leena.miettinen@qt.io>2024-04-11 12:45:14 +0000
commitd7ed4f29cb5a919a410bb2f1d4918ec0f51ef95a (patch)
tree80a842ca7a5ae729560eb88cda97d15a0abddee5 /doc/qtcreator
parentec3a5b5fd04dd7381d14d2174a2b9e57a9a824fc (diff)
Doc: Turn Valgrind topics into how-tos and reference topics
Remove obsolete overview topic. Task-number: QTCREATORBUG-29361 Change-Id: Ifecc868e9a04dd5f87b393d1dc1a75ca2b6c7db7 Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'doc/qtcreator')
-rw-r--r--doc/qtcreator/images/qtcreator-valgrind-memcheck.pngbin2347 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-valgrind-memcheck.webpbin0 -> 2034 bytes
-rw-r--r--doc/qtcreator/src/analyze/cpu-usage-analyzer.qdoc2
-rw-r--r--doc/qtcreator/src/analyze/creator-analyze.qdoc6
-rw-r--r--doc/qtcreator/src/analyze/creator-valgrind-overview.qdoc54
-rw-r--r--doc/qtcreator/src/analyze/creator-valgrind.qdoc224
-rw-r--r--doc/qtcreator/src/external-resources/external-resources.qdoc12
-rw-r--r--doc/qtcreator/src/projects/creator-only/creator-projects-settings-run-analyze.qdoc11
-rw-r--r--doc/qtcreator/src/qtcreator-toc.qdoc6
-rw-r--r--doc/qtcreator/src/qtquick/qtquick-profiler.qdoc4
10 files changed, 158 insertions, 161 deletions
diff --git a/doc/qtcreator/images/qtcreator-valgrind-memcheck.png b/doc/qtcreator/images/qtcreator-valgrind-memcheck.png
deleted file mode 100644
index 8131846ef5..0000000000
--- a/doc/qtcreator/images/qtcreator-valgrind-memcheck.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-valgrind-memcheck.webp b/doc/qtcreator/images/qtcreator-valgrind-memcheck.webp
new file mode 100644
index 0000000000..c60fdbb72d
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-valgrind-memcheck.webp
Binary files differ
diff --git a/doc/qtcreator/src/analyze/cpu-usage-analyzer.qdoc b/doc/qtcreator/src/analyze/cpu-usage-analyzer.qdoc
index 9b746d0388..5bd12a859b 100644
--- a/doc/qtcreator/src/analyze/cpu-usage-analyzer.qdoc
+++ b/doc/qtcreator/src/analyze/cpu-usage-analyzer.qdoc
@@ -506,5 +506,5 @@
The \l {Application Output} view shows some information even if the
Performance Analyzer displays error messages.
- \sa {Profiling Function Execution}
+ \sa {Profile function execution}
*/
diff --git a/doc/qtcreator/src/analyze/creator-analyze.qdoc b/doc/qtcreator/src/analyze/creator-analyze.qdoc
index f57d97b8c0..75855716e7 100644
--- a/doc/qtcreator/src/analyze/creator-analyze.qdoc
+++ b/doc/qtcreator/src/analyze/creator-analyze.qdoc
@@ -49,11 +49,6 @@
Do static code analysis and architecture analysis to detect and
eliminate unnecessary complexity of code.
- \li \l{Using Valgrind Code Analysis Tools}{Valgrind Code Analysis Tools}
-
- Detect problems in memory management by using the Memcheck
- tool and find cache misses in the code by using the Callgrind tool.
-
\li \l{Clang Tools}
Detect problems in C, C++, and Objective-C programs by
@@ -83,4 +78,5 @@
built-in trace-viewer (\c{chrome://tracing}).
\endlist
+ \sa {Detect memory leaks with Memcheck}, {Profile function execution}
*/
diff --git a/doc/qtcreator/src/analyze/creator-valgrind-overview.qdoc b/doc/qtcreator/src/analyze/creator-valgrind-overview.qdoc
deleted file mode 100644
index 61aca06cfd..0000000000
--- a/doc/qtcreator/src/analyze/creator-valgrind-overview.qdoc
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright (C) 2018 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
-
-// **********************************************************************
-// NOTE: the sections are not ordered by their logical order to avoid
-// reshuffling the file each time the index order changes (i.e., often).
-// Run the fixnavi.pl script to adjust the links to the index order.
-// **********************************************************************
-
-/*!
- \previouspage creator-axivion.html
- \page creator-valgrind-overview.html
- \nextpage creator-analyzer.html
-
- \title Using Valgrind Code Analysis Tools
-
- \QC integrates \l{http://valgrind.org/info/tools.html}{Valgrind code
- analysis tools} for detecting memory leaks and
- profiling function execution. You must download and install them separately
- to use them from \QC.
-
- You can run the Valgrind tools either \e locally on the development host or
- \e remotely on another host. You can use them to analyze both applications
- for which you set up a project in \QC and applications for which you do not
- have a project.
-
- Valgrind tools are supported locally only on Linux and \macos. However,
- according to Valgrind.org, support on \macos 10.8 and 10.9 is experimental and
- mostly broken. You can run the tools on a remote Linux machine or device
- from any development host.
-
- To run the Valgrind tools to analyze an application for which you have a
- project, open the project in \QC and select the kit to run the project. The
- kit specifies whether the Valgrind tools are run locally or remotely.
-
- For more information about analyzing applications for which you do not have
- a project, see \l{Running Valgrind Tools on External Applications}.
-
- To set preferences for the Valgrind tools, select \preferences >
- \uicontrol Analyzer. You can override the general
- settings for each project in the \uicontrol {Run Settings} for the project.
-
- The following sections describe how to use the Valgrind tools:
-
- \list
-
- \li \l{Detecting Memory Leaks with Memcheck}
-
- \li \l{Profiling Function Execution}
-
- \endlist
-
- \sa {Specify Valgrind settings for a project}
-*/
diff --git a/doc/qtcreator/src/analyze/creator-valgrind.qdoc b/doc/qtcreator/src/analyze/creator-valgrind.qdoc
index 47d4b8c1d6..c46953803e 100644
--- a/doc/qtcreator/src/analyze/creator-valgrind.qdoc
+++ b/doc/qtcreator/src/analyze/creator-valgrind.qdoc
@@ -1,4 +1,4 @@
-// Copyright (C) 2021 The Qt Company Ltd.
+// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
// **********************************************************************
@@ -8,92 +8,116 @@
// **********************************************************************
/*!
- \previouspage creator-valgrind-overview.html
- \page creator-analyzer.html
- \nextpage creator-cache-profiler.html
+ \page creator-how-to-memcheck.html
+ \previouspage creator-how-tos.html
- \title Detecting Memory Leaks with Memcheck
+ \ingroup creator-how-to-analyze
- You can use the Memcheck tool included in the Valgrind tool suite to detect
- problems that are related to memory management in applications. You can use
+ \title Detect memory leaks with Memcheck
+
+ With the Memcheck tool in \l{Valgrind's Tool Suite}, you can detect
+ problems that are related to memory management in applications. Use
the tool together with the GDB debugger. When a problem is detected, the
application is interrupted and you can debug it.
\note You can install and run Memcheck locally on Linux. You can run
- it on a remote host or device from any development machine. On Windows,
+ it on a remote host or device from any computer. On Windows,
you can use the \l{Detecting Memory Leaks with Heob}{Heob} heap observer to
receive similar results.
After you download and install Valgrind tools, you can use Memcheck from
\QC.
- To analyze applications:
+ To detect memory leaks in applications:
\list 1
- \li In the \uicontrol Projects mode, select a debug build configuration.
+ \li Go to the \uicontrol Projects mode, and select a debug build
+ configuration.
- \li Select \uicontrol Debug to open the \uicontrol Debug mode, and then
- select \uicontrol Memcheck on the toolbar.
+ \li In the mode selector, select \uicontrol Debug > \uicontrol Memcheck.
- \li Select the
- \inlineimage icons/qtcreator-analyze-start-button.png "Start button"
- button to start the application.
+ \image qtcreator-valgrind-memcheck.webp {Memcheck view}
+
+ \li Select \inlineimage icons/qtcreator-analyze-start-button.png
+ to start the application.
\li Use the application to analyze it.
- \li Select the \inlineimage icons/stop_small.png "Stop button"
- button to view the results of the analysis in the
- \uicontrol {Analysis} view.
+ \li Select \inlineimage icons/stop_small.png to view the results of the
+ analysis in \uicontrol {Memory Issues}.
+
+ \endlist
+
+ \section1 View memory issues
+ While the application is running, Memcheck does the following:
+
+ \list
+ \li Checks all reads and writes of memory.
+ \li Intercepts calls that allocate or free memory or create or
+ delete memory blocks.
\endlist
- While the application is running, Memcheck checks all reads and writes of
- memory and intercepts calls that allocate or free memory or create or
- delete memory blocks. The results are displayed when you stop Memcheck.
- Click a line to view where a memory leak
- occurred and a stack trace that shows what caused it.
+ You can see the results when you stop Memcheck.
- As an alternative to collecting data, you can select \inlineimage icons/open.png
+ Select a line to see the place where a memory leak occurred and a stack trace
+ that shows what caused it.
+
+ As an alternative to collecting data, select \inlineimage icons/open.png
to load an external log file in XML format into the \uicontrol Memcheck
view.
- \image qtcreator-valgrind-memcheck.png "Memcheck view"
-
Move the mouse on a row to view more information about the function.
To move between rows, select \inlineimage icons/prev.png
- or \inlineimage icons/next.png
- .
+ or \inlineimage icons/next.png.
- To filter the results, select \inlineimage icons/filtericon.png
- , and then select the types of issues to display in the view. You
+ To filter the results, select \inlineimage icons/filtericon.png, and
+ then select the types of issues to display in the view. You
can view and hide definite and possible memory leaks, uninitialized
values, invalid calls to \c free(), and external errors.
For more information about using Memcheck, see
- \l{http://valgrind.org/docs/manual/quick-start.html#quick-start.mcrun}
- {Interpreting Memcheck's Output} in the Valgrind documentation.
+ \l{Interpreting Memcheck's Output} in the Valgrind documentation.
+
+ \sa {Profile function execution},
+ {Run Valgrind tools on external applications},
+ {Specify Valgrind settings for a project}, {Valgrind Callgrind},
+ {Valgrind Memcheck}
+*/
+
+/*!
+ \page creator-preferences-memcheck.html
+ \previouspage creator-reference.html
- \section1 Selecting Options for Memory Analysis
+ \ingroup creator-reference-preferences-analyzer
- You can specify analyzer settings either globally for all projects or
- separately for each project in the \l{Specifying Run Settings}{run settings}
- of the project.
+ \title Valgrind Memcheck
- To specify global settings for Valgrind, select \preferences >
- \uicontrol Analyzer. The \uicontrol {Memcheck Memory Analysis Options}
- group has Memcheck options.
+ \brief Set preferences for Valgrind Memcheck.
+
+ Set \l{Valgrind's Tool Suite}{Valgrind} preferences either globally for all
+ projects or separately for each project in the \l{Specifying Run Settings}
+ {run settings} of the project.
+
+ To set global preferences for Valgrind, select \preferences >
+ \uicontrol Analyzer. Set Memcheck preferences in
+ \uicontrol {Memcheck Memory Analysis Options}.
+
+ \image qtcreator-valgrind-memcheck-options.png {Memory Analysis options}
In \uicontrol {Extra Memcheck arguments}, specify additional arguments
for launching the executable.
+ \section1 Setting Stack Trace Length
+
Stack traces can get quite large and confusing, and therefore, reading them
from the bottom up can help. If the stack trace is not big enough or it is
too big, select \preferences > \uicontrol Analyzer and define the length of
the stack trace in the \uicontrol {Backtrace frame count} field.
- \image qtcreator-valgrind-memcheck-options.png "Memory Analysis options"
+ \section1 Tracking Origins of Uninitialized Memory
Memcheck also reports uses of uninitialised values, most commonly with the
message \uicontrol {Conditional jump or move depends on uninitialised value(s).}
@@ -101,12 +125,14 @@
uninitialized memory} check box is selected by default. You can deselect it
to make Memcheck run faster.
+ \section1 Viewing a Summary
+
Memcheck searches for memory leaks when the client application finishes. To
view the amount of leaks that occurred, select \uicontrol {Summary Only} in the
\uicontrol {Check for leaks on finish} field. To also view details of each leak,
select \uicontrol Full.
- \section2 Showing Reachable and Indirectly Lost Blocks
+ \section1 Showing Reachable and Indirectly Lost Blocks
\e Reachable blocks are blocks that are pointed at by a pointer or chain
of pointers and that might have been freed before the application exited.
@@ -118,7 +144,7 @@
To have them reported, select the \uicontrol {Show reachable and indirectly lost
blocks}.
- \section2 Suppressing Errors
+ \section1 Suppressing Errors
Memcheck detects numerous problems in the system libraries, such as the C
library, which come pre-installed with your OS. As you cannot easily fix
@@ -127,37 +153,40 @@
when the system is built.
You can write your own suppression files if parts of your project have
- errors you cannot fix and you do not want to be reminded of them. Click
+ errors you cannot fix and you do not want to be reminded of them. Select
\uicontrol Add in the \uicontrol {MemCheck Memory Analysis} dialog to add
the suppression files.
+
For more information about writing suppression files, see
- \l{http://valgrind.org/docs/manual/manual-core.html#manual-core.suppress}
- {Suppressing Errors} in the Valgrind documentation.
+ \l{Suppressing Errors} in the Valgrind documentation.
+ \sa {Detect memory leaks with Memcheck}, {Profile function execution},
+ {Run Valgrind tools on external applications},
+ {Specify Valgrind settings for a project}, {Valgrind Callgrind}
*/
/*!
- \previouspage creator-analyzer.html
\page creator-cache-profiler.html
- \nextpage creator-running-valgrind-remotely.html
+ \previouspage creator-how-tos.html
+
+ \ingroup creator-how-to-analyze
- \title Profiling Function Execution
+ \title Profile function execution
- You can use the Callgrind tool included in the
- \l{http://valgrind.org/info/tools.html}{Valgrind tool suite} to detect
- problems that are related to executing functions. In addition, you
- can load the data files generated by Callgrind into the
- \l{https://kcachegrind.github.io/html/Home.html}{KCachegrind}
- profile data visualization tool for browsing the performance results.
+ With the Callgrind tool in \l{Valgrind's Tool Suite}, you can detect problems
+ that are related to executing functions. Load the data files generated by
+ Callgrind into the \l{https://kcachegrind.github.io/html/Home.html}
+ {KCachegrind} profile data visualization tool to browse the performance
+ results.
After you download and install Valgrind tools and KCachegrind, you can use
Callgrind and KCachegrind from \QC.
\note You can install and run Callgrind and KCachegrind locally on Linux.
You can run Callgrind on a remote Linux machine or device from any
- development machine.
+ computer.
- \section1 Building Apps for Profiling
+ \section1 Build apps for profiling
Callgrind records the call history of functions that are executed when the
application is run. It collects the number of instructions that are
@@ -181,28 +210,26 @@
options for GCC are: \c{-g -O2}. It is
advisable to use such a setup for Callgrind profiling.
- \section1 Collecting Data
+ \section1 Collect data
To analyze applications:
\list 1
- \li In the \uicontrol Projects mode, select a release build configuration.
+ \li Go to the \uicontrol Projects mode, and select a release build
+ configuration.
- \li Select \uicontrol Debug to open the \uicontrol Debug mode, and then
- select \uicontrol Callgrind on the toolbar.
+ \li In the mode selector, select \uicontrol Debug > \uicontrol Callgrind.
- \image qtcreator-valgrind-callgrind-toolbar.png "Callgrind view toolbar"
+ \image qtcreator-valgrind-callgrind-toolbar.png {Callgrind view toolbar}
- \li Select the
- \inlineimage icons/qtcreator-analyze-start-button.png "Start button"
- button to start the application.
+ \li Select \inlineimage icons/qtcreator-analyze-start-button.png
+ to start the application.
\li Use the application to analyze it.
- \li Select the \inlineimage icons/stop_small.png "Stop button"
- button to view the results of the analysis in the
- \uicontrol Functions view.
+ \li Select \inlineimage icons/stop_small.png to view the results of the
+ analysis in the \uicontrol Functions view.
\endlist
@@ -220,7 +247,7 @@
to view the data in KCachegrind. \QC launches KCachegrind
and loads the data into it for visualization.
- \section1 Viewing Collected Data
+ \section1 View collected data
The results of the analysis are displayed in the \uicontrol Callgrind views.
You can detach views and move them around. To revert the changes, select
@@ -261,17 +288,31 @@
To remove template parameter lists when displaying function names, select
\uicontrol <>.
- \section1 Selecting Profiling Options
+ \sa {Detect memory leaks with Memcheck}, {Profile function execution},
+ {Run Valgrind tools on external applications},
+ {Specify Valgrind settings for a project}, {Valgrind Callgrind},
+ {Valgrind Memcheck}
+*/
+
+/*!
+ \page creator-preferences-callgrind.html
+ \previouspage creator-reference.html
+
+ \ingroup creator-reference-preferences-analyzer
- You can specify analyzer settings either globally for all projects or
- separately for each project in the \l{Specifying Run Settings}{run settings}
- of the project.
+ \title Valgrind Callgrind
- To specify global settings for Valgrind, select \preferences >
- \uicontrol Analyzer. The \uicontrol {Callgrind Profiling Options}
- group has Callgrind options.
+ \brief Set preferences for Valgrind Callgrind.
- \image qtcreator-valgrind-callgrind-options.png "Valgrind options"
+ Set \l{Valgrind's Tool Suite}{Valgrind} preferences either globally for all
+ projects or separately for each project in the \l{Specifying Run Settings}
+ {run settings} of the project.
+
+ To set global preferences for Valgrind, select \preferences >
+ \uicontrol Analyzer. Set Callgrind preferences in
+ \uicontrol {Callgrind Profiling Options}.
+
+ \image qtcreator-valgrind-callgrind-options.png {Callgrind Profiling Options}
In the \uicontrol {KCachegrind executable} field, enter the path to the
KCachegrind executable to launch.
@@ -292,7 +333,7 @@
global bus events of the event type \c Ge that are executed,
select \uicontrol {Collect global bus events}.
- \section2 Enabling Full Cache Simulation
+ \section1 Enabling Full Cache Simulation
By default, only instruction read accesses (Ir) are counted. To fully
simulate the cache, select the \uicontrol {Enable cache simulation} check box.
@@ -308,7 +349,7 @@
\endlist
- \section2 Enabling Branch Prediction Simulation
+ \section1 Enabling Branch Prediction Simulation
To enable the following additional event counters, select the
\uicontrol {Enable branch prediction simulation} check box:
@@ -323,32 +364,39 @@
\endlist
- \sa {Analyzing CPU Usage}, {Detach views}
+ \sa {Analyzing CPU Usage}, {Detect memory leaks with Memcheck},
+ {Detach views}, {Run Valgrind tools on external applications},
+ {Specify Valgrind settings for a project},
+ {Valgrind Memcheck}
*/
/*!
- \previouspage creator-cache-profiler.html
\page creator-running-valgrind-remotely.html
- \nextpage creator-clang-tools.html
+ \previouspage creator-how-tos.html
+
+ \ingroup creator-how-to-analyze
- \title Running Valgrind Tools on External Applications
+ \title Run Valgrind tools on external applications
- \QC integrates Valgrind code analysis tools for detecting memory
- leaks and profiling function execution.
+ With \l{Valgrind's Tool Suite}, you can detect memory leaks and profile
+ function execution.
To run the Valgrind tools to analyze external applications for which
you do not have a \QC project:
\list 1
- \li Select \uicontrol Analyze > \uicontrol {Valgrind Memory Analyzer (External
+ \li Go to \uicontrol Analyze > \uicontrol {Valgrind Memory Analyzer (External
Application)} or \uicontrol {Valgrind Function Profiler (External Application)}.
- \image qtcreator-valgrind-remote-settings.png "Start Remote Analysis dialog"
+ \image qtcreator-valgrind-remote-settings.png {Start Remote Analysis dialog}
- \li Specify the application to run and analyze, and the \l{glossary-buildandrun-kit}{kit}
- to use.
+ \li Select the application to run and analyze, as well as the
+ \l{glossary-buildandrun-kit}{kit} to use.
\endlist
+ \sa {Detect memory leaks with Memcheck}, {Profile function execution},
+ {Kits}, {Specify Valgrind settings for a project}, {Valgrind Callgrind},
+ {Valgrind Memcheck}
*/
diff --git a/doc/qtcreator/src/external-resources/external-resources.qdoc b/doc/qtcreator/src/external-resources/external-resources.qdoc
index 3eceb28e56..ea624ab132 100644
--- a/doc/qtcreator/src/external-resources/external-resources.qdoc
+++ b/doc/qtcreator/src/external-resources/external-resources.qdoc
@@ -185,3 +185,15 @@
\externalpage https://doc-snapshots.qt.io/applicationmanager-dev/cmake-qt6-am-create-installable-package.html
\title qt6_am_create_installable_package
*/
+/*!
+ \externalpage https://valgrind.org/info/tools.html
+ \title Valgrind's Tool Suite
+*/
+/*!
+ \externalpage https://valgrind.org/docs/manual/quick-start.html#quick-start.interpret
+ \title Interpreting Memcheck's Output
+*/
+/*!
+ \externalpage https://valgrind.org/docs/manual/manual-core.html#manual-core.suppress
+ \title Suppressing Errors
+*/
diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run-analyze.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run-analyze.qdoc
index 34233c90d8..99802a720b 100644
--- a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run-analyze.qdoc
+++ b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run-analyze.qdoc
@@ -13,8 +13,8 @@
you select for a kit in \uicontrol Projects > \uicontrol {Build & Run} >
\uicontrol Run > \uicontrol {Run Settings}.
- \QC integrates \l{Analyzing Code}{Valgrind code analysis tools} for
- detecting memory leaks and profiling function execution.
+ With \l{Valgrind's Tool Suite}, you can detect memory leaks and profile
+ function execution.
To specify Valgrind settings for the current project:
@@ -38,11 +38,12 @@
\endlist
- Click \uicontrol {Restore Global} to revert to the global settings.
+ Select \uicontrol {Restore Global} to revert to the global settings.
To specify global Valgrind settings, select \preferences >
\uicontrol Analyzer.
- \sa {Configuring Projects}, {Selecting Options for Memory Analysis},
- {Selecting Profiling Options}, {Using Valgrind Code Analysis Tools}
+ \sa {Detect memory leaks with Memcheck}, {Profile function execution},
+ {Run Valgrind tools on external applications}, {Configuring Projects},
+ {Valgrind Callgrind}, {Valgrind Memcheck}
*/
diff --git a/doc/qtcreator/src/qtcreator-toc.qdoc b/doc/qtcreator/src/qtcreator-toc.qdoc
index c462da8245..0ce410b39e 100644
--- a/doc/qtcreator/src/qtcreator-toc.qdoc
+++ b/doc/qtcreator/src/qtcreator-toc.qdoc
@@ -76,12 +76,6 @@
\list
\li \l{Profiling QML Applications}
\li \l{Checking Code Coverage}
- \li \l{Using Valgrind Code Analysis Tools}
- \list
- \li \l{Detecting Memory Leaks with Memcheck}
- \li \l{Profiling Function Execution}
- \li \l{Running Valgrind Tools on External Applications}
- \endlist
\li \l{Detecting Memory Leaks with Heob}
\li \l{Analyzing CPU Usage}
\li \l{Analyzing Code with Cppcheck}
diff --git a/doc/qtcreator/src/qtquick/qtquick-profiler.qdoc b/doc/qtcreator/src/qtquick/qtquick-profiler.qdoc
index 4acafaf42a..4a9aa52da4 100644
--- a/doc/qtcreator/src/qtquick/qtquick-profiler.qdoc
+++ b/doc/qtcreator/src/qtquick/qtquick-profiler.qdoc
@@ -49,8 +49,8 @@
\if defined(qtcreator)
If frames get dropped even though JavaScript is not being run, and there are
large, unexplained gaps in the timeline, check your custom QQuickItem
- implementations. You can use \l{Using Valgrind Code Analysis Tools}
- {Valgrind} or other general purpose profilers to analyze C++ code.
+ implementations. You can use \l{Profile function execution}
+ {Valgrind Callgrind} or other general purpose profilers to analyze C++ code.
You can use \e {full stack tracing} to trace from the top level QML or
JavaScript down to the C++ and all the way to the kernel space. You can