Skip to main content

Posts

Showing posts from January, 2022

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

Notes: Java module to create Zipped Folder from list of Files

private static void convertFilesToZip(ArrayList filePaths, String zipFilePath) throws Exception { try ( ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFilePath));) { for (String filePath : filePaths) { File fileToZip = new File(filePath); ZipEntry e = new ZipEntry(new File(filePath).getName()); out.putNextEntry(e); Files.copy(fileToZip.toPath(), out); } } }

Notes: Java module to convert list of images to PDF document using Apache PDFBox

 private static void convertImagesToPdf(ArrayList<String> imagesFilePath, String pdfFilePath) throws Exception {         try ( PDDocument doc = new PDDocument();) {             for (String imageFilePath : imagesFilePath) {                 PDImageXObject image = PDImageXObject.createFromFile(imageFilePath, doc);                 PDRectangle pageSize = PDRectangle.A4;                 int originalWidth = image.getWidth();                 int originalHeight = image.getHeight();                 float pageWidth = pageSize.getWidth();                 float pageHeight = pageSize.getHeight();                 float ratio = Math.min(pageWidth / originalWidth, page...

Notes: Java module to merge PDF Documents (with or without password)

import java.io.File; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.time.LocalDate; import java.time.YearMonth; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatterBuilder; import java.util.ArrayList; import java.util.Collections; import java.util.NavigableMap; import java.util.TreeMap; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; import org.apache.pdfbox.io.MemoryUsageSetting; import org.apache.pdfbox.multipdf.PDFMergerUtility; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDPage; import org.apache.pdfbox.pdmodel.encryption.InvalidPasswordException; import org.apache.pdfbox.pdmodel.interactive.documentnavigation.destination.PDPageDestination; import org.apache.pdfbox.pdmodel.interactive.documentnavigation.destination.PDPageFitWidthDestination; import org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDDocumentOutline; im...

Notes: Java module to convert PDF document to Image_Files

 import java.awt.image.BufferedImage; import java.io.File; import java.util.Arrays; import javax.imageio.ImageIO; import org.apache.commons.lang3.StringUtils; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.rendering.ImageType; import org.apache.pdfbox.rendering.PDFRenderer; private static void convertPdfToImage(String pdfFilePath, String imageFolderPath) throws Exception {         File file = new File(pdfFilePath);         String fileExtension = ".jpg";         int dpi=300;         try (PDDocument doc = PDDocument.load(file)) {             PDFRenderer pdfRenderer = new PDFRenderer(doc);             for (int i = 0; i < doc.getPages().getCount(); i++) {                 BufferedImage img = pdfRenderer.renderImageWithDPI(i, dpi, ImageType.RGB);           ...

C++ code to connect Postgres Database

/* At first install libpqxx in linux*/ #include <pqxx/pqxx> using namespace std; using namespace pqxx; class GetDbConn { public:     static connection *getPostgresDbConnection(const std::string& conStr)     {         pqxx::connection *c=new connection(conStr);         return c;     } }; ---------------- /*Code to call this connection is as follows #include <pqxx/pqxx> #include "getDbConn.h" using namespace std; using namespace pqxx; class MyDb { public:     static connection * getTradingNseConnection()     {         char const *conStr="dbname = <database_name> user = <user_name> password = <db_password> hostaddr = 127.0.0.1 port = 5432";         pqxx::connection *con=GetDbConn::getPostgresDbConnection(conStr);         if ((*con).is_open())         {           ...