Qt is a high quality library, but it is also massive in number of features. This massive number results in a higher likelihood that there are bugs that go unnoticed lying around in its less frequently used features or combination of features. Our friends at qgis.org hired us to solve some of those issues that had […]
Profiling & Debugging Get the RSS Feed
Heaptrack v1.3.0 Release
Version 1.3.0 of the KDE Heaptrack project was just released by KDAB’s Milian Wolff. Heaptrack is a heap memory profiler on Linux-based operating systems. It can help you find hotspots that need to be optimized for reducing memory usage, memory leaks, allocation hotspots, and temporary allocations. Included in this release is a special new feature […]
GammaRay 2.11.3 Released! The Last Release in the 2.11 Series
GammaRay 2.11.3 has been released! GammaRay is KDAB’s software introspection tool for Qt applications. Leveraging the QObject introspection mechanism, it allows you to observe and manipulate your application at runtime. This works both locally on your workstation and remotely on an embedded target. Version 2.11.3 will be the last in the 2.11 series. After this […]
Qt Developer Conference A Conference from Developers for Developers
We at KDAB are pleased to announce an event we’re planning to host in Berlin this fall, September 28-30. Save the dates for KDAB’s Qt Developer Conference — a conference from Qt developers for Qt developers! Qt Desktop Days, May 2021 — Cancelled Before we tell you more about Qt Dev Con, we’d like to […]
Full Stack Tracing, Part 3 Interpreting traces
This is the third and last installment of our series about full stack tracing. If you haven’t read them yet, you’ll probably want to check out the introduction and tool setup portions first. In this blog, we’re going to focus on visualizing and interpreting full stack traces. At this point, we’re going to assume that […]
How to build Qt with the Address Sanitizer on Windows
Some time ago, I wrote about how to build C++ projects with ASAN on Windows. Now, if you happen to deal with Qt projects you may want to take this one step further and sanitize Qt itself. Why bother with a sanitized Qt build? Let’s have a closer look on why having a sanitized Qt […]
Full Stack Tracing Part 2 Environment setup
If you’ve read the first article in this series, you’ll know what full stack tracing is and why you definitely want it. This time, we’ll show you how to setup full stack tracing on your Linux system. There are two steps – first get everything configured to capture a trace, and then view and interpret […]
There and Back Again what it entails to fix 10-year-old bugs in QNetworkAccessManager
A few days ago, a customer using our KD Soap library reported an interesting problem with it. The library worked perfectly to access the SOAP server, but there was some noticeable latency when doing a series of requests in short succession from the client. This latency should not have been there, as both the server […]
Full Stack Tracing Part 1 What is it and when is it useful?
Full stack tracing is a tool that should be part of every software engineer’s toolkit. It’s the best way to investigate and solve certain classes of hard problems in optimization and debugging. Because of the power and capability it gives the developer, we’ll be writing a series of blogs about it: when to use it, […]
How to Build C++ Projects with the Address Sanitizer on Windows memory bug detection via compiler extension
Memory bugs are tricky. Leaks have a clear impact on performance, and quickly become hard to spot when heap allocated objects move too much. Memory access bugs, on the other hand, make your program crash right away, if you’re lucky. In less desirable cases, they may end up corrupting random objects on the heap, and […]