KDAB at CppCon 2019 September 15-20
CppCon is the annual, week-long face-to-face gathering for the entire C++ community – the biggest C++ event in the world. This year, for the first time, CppCon takes place in the stunning Gaylord Rockies Hotel and Convention Center in Aurora, Colorado, very near Denver International Airport.
KDAB is a Bronze sponsor this year, and Milian Wolff is offering a talk on Wednesday September 18th:
How to Write a Heap Memory Profiler
Have you ever wondered how profilers work? Did you ever run into a situation where you wanted to write your own custom profiler, but didn’t know how to go about it? Then this talk is for you.
We will build a proof-of-concept heap profiler on Linux that implements the most important aspects of a custom tracing profiler: Intercepting function calls, runtime injection, call stack unwinding and debug symbol resolution. All of these concepts are generic and don’t only apply to a heap profiler, we will just use that as a motivating example.
The talk will also touch on some of the lessons learned creating a productionized heap profiler called heaptrack: What data format should you use? How can you compress the data? What needs to be taken into account to support profiling on embedded platforms?
Combined, this talk will teach you about some of the layers behind the scenes of a standardized C++ application. Sadly, these layers tend to be platform dependent. For that reason, this talk concentrates on Linux, but the core principles apply to other platforms too.
See the full conference program here.
KDAB Training at CppCon
We will be offering 2-day pre- and post-conference training courses on Sept 14th – 15th and Sept 21st to 22nd:
Debugging and Profiling C++ Code on Linux, September 14-15
This course teaches C++ developers the other side of the development story: the time spent writing C++ code is often dwarfed by the time required to find bugs and improve performance.
This training gives an introduction to various tools which help C++ developers and testers to find bugs and performance issues of native applications written in C++ under Linux. The training is applicable to both desktop and embedded developers.
The tools presented cover a wide range of problems, from general purpose debugging and CPU profiling to domain-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.
During the training the participants will do hands-on exercises (“labs”) to optimize or find bugs in existing code.
After the two training days, attendees will have a solid understanding of the tooling landscape on Linux, which should boost their productivity by knowing which tool to use in which situation.
Building C++ Code with CMake, September 21-22
CMake is the de facto standard build system for C and C++ outside of frameworks that require their own. It has earned this place by supporting the situations and special cases that arise in real projects.
This course will teach the basics of creating and building projects with CMake. In recent years, CMake has introduced some cleaner and more precise constructs. The course will focus on the new constructs where possible.
CMake has broad functionality that covers many real world problems. Learning CMake enables you to solve advanced build requirements. This includes cross-platform builds, feature detection based on platform or available libraries, build-time configurable feature switches, custom build steps and even generating binary packages.