Konrad Kleine

I'm a dad, husband and have a passion for playing the acoustic guitar and taking as well as developing pictures with my analogue photo camera. I also swim, run and ride my mountain bike. I work as a senior software engineer at Red Hat where my current role evolves around the LLDB and GDB linux debuggers. C/C++ is my day to day programming language and I have more than three years of experience with the Go programming language from my previous job here at Red Hat.

Areas of Expertise

C++, C, Go, Docker, Testing, Debuggers, LLVM, LLDB

Recent Posts

How to debug where a function returns using LLDB from the command line

How to debug where a function returns using LLDB from the command line

I often find myself in a situation when I want to know where a function returns. There’s no need to know the return value, as this may be the same for multiple code paths (e.g., nullptr if something went wrong). It is embarrassing, but I sometimes have put fprintf(stderr, "T1"); in my code just to follow which path the execution took. Needless to say, this behavior requires manual editing and recompilation and should be avoided if possible.

Here’s a way to elegantly debug where a function returns using lldb from the command line.

Continue reading “How to debug where a function returns using LLDB from the command line”

Share
2 tips to make your C++ projects compile 3 times faster

2 tips to make your C++ projects compile 3 times faster

In this article, I will demonstrate how to speed up your compilation times by distributing compilation load using a distcc server container.  Specifically, I’ll show how to set up and use containers running a distcc server to distribute the compilation load over a heterogeneous cluster of nodes (development laptop, old desktop PC, and a Mac). To improve the speed of recompilation, I will use ccache.

Continue reading “2 tips to make your C++ projects compile 3 times faster”

Share
Manage test dependencies with Go

Manage test dependencies with Go

Introduction

I’m working on the upstream fabric8-wit project of openshift.io. In this Go project, we embrace testing as best as we can in order to deliver a stable component. Testing acts as our safety net to allow for fast-paced feature development. This blog post is about our recent change in our testing strategy. It is not as boring as it might sound at first. 😉

Continue reading “Manage test dependencies with Go”

Share