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

Use vim in a production Red Hat OpenShift container in 6 easy steps

Use vim in a production Red Hat OpenShift container in 6 easy steps

Disclaimer: In most cases, we don’t recommend editing files in a container. However, in rare cases, you might need to reproduce and slightly modify a file in a production container, especially when debugging. (In this case, the vim method I’m using works on Fedora 32 on my laptop and it is the base of my Red Hat OpenShift container image.)

Continue reading Use vim in a production Red Hat OpenShift container in 6 easy steps

Share
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