Skip to main content

Posts

How to use gdb in Ubuntu Terminal

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...

Gcc compilation using .h & .c file (chatGpt response)

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 ...

C language Usage: Gemenie, charGpt, MetaAI replies

Its correct that C lang is used for creating OS, compilers, hardware programming, etc. But can i use C lang for work purpose eg restAPI development, since libcurl, libwebsockets, apache server is already there, gui development since gkt is there, general programming since libzib,libcsv, libopenssh, etc aleady there. Also for DB programming libpq, mysql c intervace, etc already there Gemenie Reply: You are absolutely right! While C is renowned as the language for systems programming (OS, compilers, embedded systems), it is indeed very capable and used in various domains for work purposes: C in Diverse Applications: REST API Development: Libraries like libcurl provide powerful HTTP/HTTPS request handling. You can find frameworks like Duma or build your own lightweight solutions. While not as common as languages like Python or JavaScript in this area, C excels when high performance and low-level control are paramount. GUI Development: GTK+ is a mature and widely used cross-platform too...

Managing gpg2 keys in Ubuntu (more update to be done...[eg gpg2 key creation, etc]) [chatGpt tutorial/discussion]

 Query? List all gpg2 keys in ubuntu: To list all installed GPG keys that can be used for signing, you can run the following command: bash Copy code gpg2 --list-secret-keys --keyid-format LONG This command will show all secret keys (private keys) available for signing, as well as their associated public keys. The output will display the key IDs, user IDs, and additional information about the keys. Let me know if you need further assistance! ----------------------------------------------------------------------- Query? How to view keys in terminal? To view GPG keys in the terminal, you can use the following commands based on whether you want to see public or private keys: 1. View Public Keys To list all public keys, use: bash Copy code gpg2 --list-keys --keyid-format LONG This will display all the public keys installed on your system, along with their key ID, user information, and validity. 2. View Private (Secret) Keys To list all private (secret) keys, use: bash Copy code gpg2 --l...