Akademy/2022/Thursday: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
== Training: Debugging and Profiling Qt applications on Linux == | == Training: Debugging and Profiling Qt applications on Linux == | ||
''Note: this is the same training as the one given by Milian in 2020'' | |||
This training is kindly provided by KDAB and will be conducted online by David Faure. | This training is kindly provided by KDAB and will be conducted online by David Faure. | ||
Link to participate in training online: TBD | Link to participate in training online: TBD | ||
Room at the University to join with others: TBD | Room at the University to join with others: TBD | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 18: | Line 21: | ||
|} | |} | ||
Details | ===Details=== | ||
Get up-to-speed with the latest Linux Qt debugging and performance tools | Get up-to-speed with the latest Linux Qt debugging and performance tools | ||
Line 25: | Line 28: | ||
The tools presented cover a wide range of problems, from general purpose debugging and CPU profiling to Linux 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. | The tools presented cover a wide range of problems, from general purpose debugging and CPU profiling to Linux 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. | ||
====== | ===Table of contents=== | ||
Debugging on Linux: | Debugging on Linux: | ||
Line 43: | Line 44: | ||
* memory usage: heaptrack | * memory usage: heaptrack | ||
====== | ===Prerequisite=== | ||
Knowledge and experience programming with Qt and C++. Basic understanding of multithreaded programming. | Knowledge and experience programming with Qt and C++. Basic understanding of multithreaded programming. | ||
Line 51: | Line 51: | ||
Topics include: | Topics include: | ||
* sanitizers ASAN/UBSAN/TSAN | |||
* linux perf, hotspot | |||
* heaptrack |
Revision as of 20:01, 28 September 2022
Training: Debugging and Profiling Qt applications on Linux
Note: this is the same training as the one given by Milian in 2020
This training is kindly provided by KDAB and will be conducted online by David Faure.
Link to participate in training online: TBD
Room at the University to join with others: TBD
11:00-13:00 CEST | Part 1 - Debugging on Linux |
13:00-15:00 CEST | Lunch break |
15:00-17:00 CEST | Part 2 - Profiling on Linux |
Details
Get up-to-speed with the latest Linux 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 Linux 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.
Table of contents
Debugging on Linux:
- a debugger that allows to go back in time: RR
- tracing: strace
- memory error detectors: AddressSanitizers
- thread error detectors: ThreadSanitizer
- GammaRay to investigate internals of Qt applications
Profiling on Linux:
- CPU: Linux perf, hotspot
- memory usage: heaptrack
Prerequisite
Knowledge and experience programming with Qt and C++. Basic understanding of multithreaded programming.
We will cover what I consider the most essential debugging and profiling tools on Linux. I'll show you how to use the tools, how to interpret the results. We will talk about problems you may run into during setup. And we will discuss optimizations for certain types of code patterns.
Topics include:
- sanitizers ASAN/UBSAN/TSAN
- linux perf, hotspot
- heaptrack