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...
Lot of times questions arise in mind that what to use pure JDBC or JPA/Hibernate.
Well, if performance is compared JDBC is much faster and uses less memory than Hibernate.
But if you plan to work safely, in a less error prone manner while writing Database code, you will need to you Hibernate.
So, finally in my opinion, if you are confidence enough that if you can write JDBC codes properly, have good knowledge of JDBC, you should use JDBC.
Also, if you think you will be able to learn SQL / JDBC properly if you don't know yet, and want to create some JAVA Database project, in this case also you can use JDBC.
But if you don't want to waste too much of time in learning JDBC and writing proper codes and spend time upon testing those codes, use JPA/ Hibernate. But in this case you will need few byes of memory extra, and also performance will be downgraded by a bit in comparison with JDBC.
Note: when these points are considered, following points are important to note:
1> In JDBC you can use DBCP or any other .jar file for connection pooling.
2> You are always using prepared statements / callable statements while using JDBC.
3> When using JPA / Hibernate, it also converts JPQL / HQL to relevant SQL codes for executing SQL statements.
Comments
Post a Comment
If you have any doubts, please let me know.