How Linux C++ Debuggers Really Work

Title: How Linux C++ Debuggers Really Work

Debugging is central to programming. You cannot be a good programmer without being good at debugging and vice-versa. And I would also say you cannot be good at debugging without taking advantage of the tools at your disposal. We don’t need to use all the tools, but there are certain times when specific tools come in really useful.

Try Time Travel Debugging in VS Code

Knowing your tools makes you a better programmer, but becoming (too) reliant on them for your debugging can lead you down a garden path and actually take you away from the correct answer.

When coding, we’ve got a model of what the program should be doing and the boundaries where expected behaviors diverge. The tools give us a model too. For example, when I’m stepping through my code in GDB, I have this kind of conceptual model of what’s going on underneath. 90% of the time, I don’t need to worry about what happens. I just accept the model that GDB gives me. But sometimes, things do happen (or do not happen) that can leave you astray if you don’t understand what’s really going on with the tools you’re using.

This is why I think my talk with Dewang Li from Synopsys is fundamental. We explored some of the Linux C++ debugging tools available to us today and what’s really going on underneath these tools.

Dewang and I looked at two categories of debugging tools — debuggers and checkers.

1. Debuggers

2. Checkers

Do watch the full talk here, and don’t forget to subscribe, like, and share!

Good luck debugging!

Try UDB Time Travel Debugging in VS Code

Join our UDB VS Code beta evaluation and get UDB Time Travel Debugger for free. Click to sign up & find out more.

Join our VS Code Time Travel Beta
UDB’s VS Code Beta is available now!

If you prefer command-line, UDB is available as a 30 day trial so take it for a test drive and check it out. We’d love to hear about your experiences with Time Travel Debugging.

Originally published at https://undo.io.

--

--

--

Time travel debugging: understand complex code and fix bugs faster

Recommended from Medium

ANSIBLE LEARNING JOURNEY-PART-II

Django Untangled 1 — Intro

DLithe_BC_NFS_T_Task24_C#

Dynamic Data Masking for Data Security in Snowflake

What Makes a Chingu?

How to use an API with JavaScript

Troubleshooting On Running System

Six challenges in deploying a conversation product globally

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Undo Bytes

Undo Bytes

Undo is the time travel debugging company for Linux. We equip developers with the technology to understand complex code and fix bugs faster. https://undo.io

More from Medium

C LOOPS-FOR WHILE DO-WHILE PROGRAMMING WITH AMAZING EXAMPLES

Thoughts on Declarative vs Functional Programming and QML/Javascript

Compilation Process for C Programs, how does it works?!

Every git command you’ll need to develop that new feature