C++ Debugging Tools: How to Use GDB and Valgrind

C++ Debugging Tools: How to Use GDB and Valgrind

In C++ development, debugging is an indispensable part of the process. Whether it is finding logical errors in the program or detecting memory leaks, the right debugging tools can significantly enhance our work efficiency. This article will introduce two commonly used C++ debugging tools: GDB and Valgrind, and provide detailed usage methods and code examples. … Read more

Linux C++ Programming: Practical Debugging of Deadlocks with Shell and GDB

Linux C++ Programming: Practical Debugging of Deadlocks with Shell and GDB

When programming in C++ under the Linux environment, multithreading provides excellent concurrency capabilities, allowing programs to perform more efficiently when handling complex tasks. However, multithreaded programming is not without its challenges; deadlock issues lurk like hidden “killers,” potentially causing programs to become stuck. Once a deadlock occurs, the program is trapped in an unbreakable loop, … Read more

Batch Deletion of Empty SHP and GDB Feature Classes/ Tables – Tool User Guide

Batch Deletion of Empty SHP and GDB Feature Classes/ Tables - Tool User Guide

Batch Deletion of Empty SHP and GDB Feature Classes/ Tables – Tool User Guide Tool Functionality This tool is used to batch scan a specified folder and automatically delete: 1. All SHP files with a record count of 0 in the folder and its subfolders; 2. All feature classes and tables in GDB databases with … Read more

Mastering the GDB Debugger to Enhance Programming Efficiency

Mastering the GDB Debugger to Enhance Programming Efficiency

On the long road of software development, bugs are like “little monsters” hiding in the dark, occasionally jumping out to cause trouble for developers. Once, the European Space Agency (ESA) launched the Ariane 5 rocket for the first time, which was an important moment in the history of space exploration, but a single line of … Read more

How to Pass Signals While Debugging with GDB

How to Pass Signals While Debugging with GDB

As the title suggests, let’s get started. First, prepare the program as follows: #include <iostream> #include <csignal> #include <atomic> std::atomic<int> running(1); void signalHandler(int signal) { std::cout << "Received signal " << signal << std::endl; running = 0; } int main() { signal(SIGTERM, signalHandler); while(running.load()) { } std::cout << "End" << std::endl; return 0; } After … Read more

Standard Management of GDB Libraries (Sharing Some GDB Management and Processing Tools)

Standard Management of GDB Libraries (Sharing Some GDB Management and Processing Tools)

In the production and collection activities of natural resource geographic information data, ArcGIS and ArcGIS Pro are possibly the most widely used GIS software. Correspondingly, Geodatabase databases (File GDB, Personal GDB) are also the most widely used formats for data production and aggregation. In the geographic information data collection and mapping production activities based on … Read more

Introduction to GDB and Usage Examples: Start Debugging Your Programs!

Introduction to GDB and Usage Examples: Start Debugging Your Programs!

When it comes to learning embedded systems, there is undoubtedly a lot to learn and remember. Writing this down helps me reconstruct problems and receive guidance from peers. 1. What is GDB? During our programming journey, we inevitably encounter program crashes, variable anomalies, and logical errors. This can be particularly frustrating for technical support workers … Read more

Implementation Code for One-Click Conversion Between MDB and GDB in ArcGIS

Implementation Code for One-Click Conversion Between MDB and GDB in ArcGIS

#-*- coding: utf-8 -*- # This script can be used for conversion between GDB and MDB import arcpy import os print("Please enter the database") SRSJK = r'D:\工作\数据处理\20250616\Project360702.gdb' clean_path = SRSJK.rstrip(os.sep) print(clean_path) srsjkhzm = os.path.splitext(clean_path)[1] print("Database entered, the type of database you entered is " + srsjkhzm) print("Please enter the folder for the output database") SCSJKLJ … Read more

Method for Batch Converting Tables in GDB to Points in ArcGIS

Method for Batch Converting Tables in GDB to Points in ArcGIS

1. Background and Significance In our daily work, we sometimes need to batch convert database tables into points. ArcGIS does not provide a direct tool for this, so we need to link several tools together in the model builder to create a new tool. Please continue reading. 2. General Approach Use the “Iterate Tables” iterator … Read more

Documenting the Porting of GDB 16.2 on RK3399

Documenting the Porting of GDB 16.2 on RK3399

To quickly locate program issues, it is necessary to compile gdb 16.2 on the RK3399 development board and use gdb 16.2 to debug the program. UnsetUnsetCompilation EnvironmentUnsetUnset Ubuntu 24.04 gcc-linaro-10.2.1-2021.01-x86_64_aarch64-linux-gnu UnsetUnsetPrerequisitesUnsetUnset GDB Official Website: https://sourceware.org/gdb/ Source Code Download Link: https://sourceware.org/pub/gdb/releases/?C=M;O=D The gdb 16.2 version depends on higher versions of gmp and mpfr, so these two … Read more