Skip to content

Introduction to Debugging & Profiling for Qt development Get up-to-speed with the latest Qt debugging and performance tools

Get up-to-speed with the latest Qt debugging and performance tools

This training gives an introduction to various tools which help developers and testers in finding bugs and performance issues.

The tools presented cover a wide range of problems, from general purpose debugging and CPU profiling to Qt specific high-level analyzers. Often, it is relatively simple to run a tool, but interpreting the results, or even just using some of the more advanced tools, requires deep technical knowledge.

Introduction to Debugging & Profiling for Qt development – Training Course Contents:

We offer this training in two flavors: One with a focus on tooling available to developers working with Microsoft Windows on the desktop. The other focuses on what a developer should know for being efficient on both desktop as well as embedded Linux.

The following tools will be covered:

Debugging on Windows:

  • general purpose debuggers: Visual Studio, CDB
  • memory error detectors: Application Verifier, AddressSanitizers
  • thread error detectors: ThreadSanitizer
  • tracing: Dependency Walker, Process Monitor, API Monitor
  • various Qt-builtin features
  • GammaRay to investigate internals of Qt applications
  • OpenGL: apitrace

Profiling on Windows:

  • CPU: Intel VTune Amplifier XE, Visual Studio, Windows Performance Analyzer
  • heap memory: Visual Studio, Windows Performance Analyzer
  • QML: QML profiler
  • OpenGL: apitrace, NVidia nSight

Debugging on Linux:

  • general purpose debuggers: GDB
  • memory error detectors: valgrind’s memcheck, AddressSanitizers
  • thread error detectors: ThreadSanitizer
  • tracing: ldd, strace
  • various Qt-builtin features
  • GammaRay to investigate internals of Qt applications
  • OpenGL: apitrace

Profiling on Linux:

  • CPU: valgrind’s callgrind, Linux perf, Intel VTune Amplifier XE
  • heap memory: valgrind’s massif, heaptrack
  • QML: QML profiler
  • OpenGL: apitrace

Testing on Windows and Linux:

  • Qt TestLib: unit tests and benchmarks
  • static code analysis: clang analyzer, Coverity
  • code coverage: gcov

Read the full Table of Contents

Why learn about Debugging and Profiling?

The time spent writing code is often dwarfed by the time required to find bugs and improve performance. This training makes your development workflow more efficient: You will learn what tool to use in which situation, how to set it up and run it on an application. And, finally, you will learn how to analyze and interpret the results obtained from the various tools.

Course information:

Target Audience: Developers who want to find and fix problems
Prerequisite: Knowing the basics of C++, Qt and QML
Duration: 3 days
Sign up: Register below. For on-site training please contact us at training@kdab.com

 

Forthcoming courses in:

FromDaysLocationCourseLanguagePriceStatusRegister
October 2nd, 2018 3 Chicago, IL, USA Profiling and Debugging for Linux English $ 2500.00Confirmed
October 16th, 2018 3 Lyon, France Les nouveautés du C++11 / C++14 / C++17 French € 1500.00Confirmed
November 13th, 2018 3 Avignon, France Débogage/profilage d’applications Qt sous Linux French € 2000.00Confirmed
November 13th, 2018 3 Berlin, Germany Introduction to Qt/QML English € 1250.00Confirmed
November 20th, 2018 3 Macclesfield, UK Modern OpenGL: Advanced Rendering & Effects English € 2000.00Confirmed
December 4th, 2018 3 Rennes, France Introduction à Qt QML French € 1250.00Confirmed
December 11th, 2018 3 Berlin, Germany Profiling and Debugging for Linux English € 2000.00Confirmed

Our trainings run from 9:00 to 16:00 (with a one hour window for discussion afterwards, if necessary)

Check out our complete course schedule…

By continuing to use the site, you agree to the use of cookies. More information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close