C

Featured image for C/C++ language topics.
Article

Printf-style debugging using GDB, Part 3

Kevin Buettner

Complete your introduction to using virtual print statements in the GDB debugger with tips for running program functions and automating GDB behavior.

Featured image for: Can we consider --editable a bad practice?
Article

Generating pseudorandom numbers in Python

Fridolin Pokorny

Learn how Project Thoth uses termial random number calculations to recommend a variety of Python packages while prioritizing newer package releases.

RHEL 9 Beta Release Feature Image
Article

Red Hat Enterprise Linux 9 Beta is here

Don Pinto

RHEL 9 Beta features GCC 11, glibc 2.34, updated compilers, enhanced application streams, Python 3.9, and more. Plus, it's built from CentOS Stream!

Featured image for Valgrind.
Article

Debug memory errors with Valgrind and GDB

Alexandra Petlanova Hajkova

Discover little-known Valgrind and GDB commands that can help you resolve memory leaks, buffer overflows, and similar bugs in your C and C++ code.

Featured image for: Value range propagation in GCC with Project Ranger.
Article

A beginner's attempt at optimizing GCC

Arjun Shankar

Implementing a minor tree optimization was a great way to get started with GCC internals while contributing to the community.

Featured image for C-language topics.
Article

Printf-style debugging using GDB, Part 2

Kevin Buettner

Learn how to use virtual print statements in the GDB debugger. This second article in the series shows how to save commands and output for later use.

Featured image for C-language topics.
Article

Printf-style debugging using GDB, Part 1

Kevin Buettner

You can use the GDB debugger to understand program behavior without any source code changes. In Part 1, learn how to run virtual print statements.

Featured image for Python topics.
Article

Debugging Python C extensions with GDB

Victor Stinner

You can use C debuggers to debug C extensions in Python 3.9. Learn how to use the improved Python debug build with the GNU Project Debugger (GDB).

Featured image for: Automating the testing process for SystemTap, Part 1: Test automation with libvirt and Buildbot.
Article

Explore new features in SystemTap 4.5.0

Stan Cox

SystemTap allows access to low-level Linux kernel features. Explore enhancements to context variables, alias syntax, and BPF features in version 4.5.0.

Featured Image: systemtap dyninst runtime
Article

Debugging function parameters with Dyninst

William Cohen

Automate app analysis by using Dyninst to debug function parameters. The suite simplifies the process via dynamic and static analysis and instrumentation tools.

Featured image for: Value range propagation in GCC with Project Ranger.
Article

Porting your code to C++17 with GCC 11

Marek Polacek

C++17 is now the default version in the GNU Compiler Collection. Find out what you need to know when updating your code to C++17 with GCC 11.

Featured image for SystemTap topics.
Article

Opening black boxes with statement tracing

Frank Eigler

Do you need a quick way to solve bugs in foreign library code? Learn how to use SystemTap for statement tracing and differential analysis in any library.

Featured image for Valgrind.
Article

Using Valgrind's --trace-flags option

Alexandra Petlanova Hajkova

Learn about Valgrind's undocumented --trace-flags option for debugging. The tutorial helps you add fused-multiply-add support for the AArch64 processor by Arm.

CPU sharing in Linux networking: Receive Side Scaling with eBPF and CPUMAP
Article

Receive Side Scaling (RSS) with eBPF and CPUMAP

Lorenzo Bianconi

Modern device drivers on servers need to exploit available CPUs to keep up with network traffic. Learn how using XDP and CPUMAP redirect boosts performance.

A code editor with four icons symbolizing DevOps, developers, a gear, and a cluster.
Article

Use multiple compilers to build better projects

Timm Baeder

Explore Clang compiler features like static analysis, sanitizers, and fuzz testing, and learn how building with multiple compilers benefits your projects.