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

Using Percepio View to Trace Zephyr: A Comprehensive Guide

Using Percepio View to Trace Zephyr: A Comprehensive Guide

In 2021, I introduced the basic principles and configuration of the Zephyr tracing system in two articles: Introduction to Zephyr Tracing System – Part 1 and Configuration and Invocation Framework of Zephyr Tracing System – Part 2. At that time, Percepio only offered paid software, so I did not continue writing about how to use … Read more

A Comprehensive Guide to Debugging Rust Asynchronous Applications with GDB

A Comprehensive Guide to Debugging Rust Asynchronous Applications with GDB

Introduction to GDB The GNU Project Debugger (GDB) is a long-standing program written by Richard Stallman in 1986, supporting multiple languages including C/C++ and modern languages like Rust. GDB is a command-line application, but there are many graphical user interface front-ends and IDE integrations available. For this tutorial, we will use the command-line interface as … Read more

JTAG Debugging – GDB Example

JTAG Debugging - GDB Example

OpenOCD is used to drive the JTAG interface, typically in conjunction with GDB for code execution debugging. The usage of GDB is fundamentally no different from its use in other contexts.Some debugging techniques for GDB: Advanced Usage of GDBThere are two ways to start GDB and interact with OpenOCD: GDB communicates with OpenOCD over TCP … Read more

C++ Debugging Techniques: Using GDB for Breakpoint Debugging

C++ Debugging Techniques: Using GDB for Breakpoint Debugging

C++ Debugging Techniques: Using GDB for Breakpoint Debugging In C++ development, debugging is an indispensable part of the process. Whether you are a novice or an experienced programmer, mastering effective debugging techniques can significantly enhance development efficiency. This article will introduce how to use GDB (GNU Debugger) for breakpoint debugging, providing detailed code examples and … Read more