GDB (GNU Debugger) is the go-to tool for debugging C and C++ programs on Linux. One of the most powerful features it offers is the breakpoint —a marker that tells the debugger to pause execution at a specific line or condition. Breakpoints help you: Inspect variables at critical code lines Step through logic in real time Detect and fix segmentation faults, memory issues, or logic bugs In this guide, we’ll cover how to: Set basic, conditional, and temporary breakpoints Break by file, line, or function Enable, disable, and delete breakpoints 🛠️ Step 1: Launch Your Program in GDB Compile your code with debug symbols: gcc -g main.c -o main Launch GDB: gdb ./main 🎯 Types of Breakpoints in GDB ✅ 1.
Command line execution
gcc -g main.c -o main Launch GDB: gdb ./main 🎯 Types of Breakpoints in GDB ✅ 1. Breakpoint by Line Number break 15 ⏱ Pauses execution at line 15 of the currently loaded file. ✅ 2. Breakpoint in Specific File and Line break utils.c:42 🎯 Useful for multi-file programs. ✅ 3. Breakpoint by Function Name break my_function Breaks at the beginning of the specified function. ✅ 4. Conditional Breakpoint break my_function if x > 10 ⛔️ Only breaks if the condition is true when function is called. ✅ 5. Temporary Breakpoint tbreak main 💡 This breakpoint will be removed after it’s hit once. Great for entry points or quick checks. ✅ 6. Breakpoint at a Memory Address break *0x080484c6 Advanced use case: debugging low-level or assembly code . ⚙️ Manage Breakpoints List All Breakpoints: info breakpoints Disable a Breakpoint: disable 2 Enable Again: enable 2 Delete a Breakpoint: delete 2 💡 Replace 2 with your breakpoint number (from info breakpoints ). 🔄 Bonus: Breakpoint Commands You can attach actions to a breakpoint: break update_score commands print score continue end 📌 This will print score every time update_score() is hit, and continue execution. Breakpoints are the backbone of efficient debugging in GDB . Whether you’re working on a simple main.c or a multi-module project, mastering different types of breakpoints helps you diagnose issues faster, analyze control flow, and build better programs. What’s your favorite GDB trick? Have a breakpoint use case you’d like help with? Drop your thoughts and questions in the comments below! 🔧🧑💻Risk level: destructive. Review the command before running it.
Implementation details
Breakpoint by Line Number break 15 ⏱ Pauses execution at line 15 of the currently loaded file. ✅ 2. Breakpoint in Specific File and Line break utils.c:42 🎯 Useful for multi-file programs. ✅ 3. Breakpoint by Function Name break my_function Breaks at the beginning of the specified function.
Gotchas and common issues
Permission checks - verify user access rights and sudo privileges before executing system-level operations.
Environment configuration - double-check path variables and dependency versions to prevent runtime failures.
Backup safeguards - maintain configuration backups before applying system or database modifications.
Following these steps ensures clean configuration and reliable execution for breakpoints in gdb: set, manage, and use like a pro (linux debug guide).
Comments and corrections