Here's a practical, minimal guide for using GDB in Ubuntu terminal — from launching to setting breakpoints and navigating your code. 🧰 Step 1: Compile with Debug Symbols Use -g and disable optimizations ( -O0 preferred for debugging): bash Copy Edit g++ -g -O0 -o myprog myprog.cpp 🚀 Step 2: Launch GDB bash Copy Edit gdb ./myprog You'll see a (gdb) prompt. 🎯 Step 3: Set Breakpoints You can set breakpoints in three main ways : ✅ a. At a function gdb Copy Edit (gdb) break main ✅ b. At a specific file and line gdb Copy Edit (gdb) break myprog.cpp:42 ✅ c. At a method in a class gdb Copy Edit (gdb) break MyClass::doSomething If the symbol is mangled (C++), GDB usually demangles automatically, especially if compiled with -g . ▶️ Step 4: Run the Program gdb Copy Edit (gdb) run 🧠Step 5: Navigate Command Meaning next or n Step over current line step or s Step into function call finish Run until current function returns continue or c Continue until...
mymem.h hs declerations/ mymem.c hs implementations of those declerations n also other various static fn Now I hv main.c that includes mymem.h what will be gcc compilation command to generate main.o n then main.run file in ubuntu ChatGPT said: ChatGPT To compile main.c , which includes mymem.h and links with mymem.c , you'll need to follow a two-step process: Compile the .c files into object files ( .o ) . Link the object files to create the final executable . Here’s how you can do it using gcc in Ubuntu: Step 1: Compile the .c files into object files bash Copy code gcc -c main.c -o main.o gcc -c mymem.c -o mymem.o The -c flag tells GCC to compile the source files into object files ( .o ), but not to link them yet. The -o flag specifies the output file name. Step 2: Link the object files and generate the executable bash Copy code gcc main.o mymem.o -o main.run This step links the object files ( main.o and mymem.o ) together to create the executable file ( main.run ). The -o ...