Debugger Development Techniques – Exploring Implementation Details of Linux and Windows Debuggers

Debugger Development Techniques - Exploring Implementation Details of Linux and Windows Debuggers

This article is aimed at those who want to develop a debugger for the Linux Armv8a architecture. It can serve as a reference, and I will use my experience from developing two debuggers to clearly describe the key technical details in as simple language as possible.Due to space limitations, this article will only discuss the … Read more

Research on Executing ELF in Memory on Android

Research on Executing ELF in Memory on Android

This article is an excellent piece from the KX forum. Author ID on KX forum: Ylarod One When we first encountered this issue, we found that in the Linux system, we can use memfd_create and execve to execute ELF in memory. However, on Android, we encountered the following problem: CANNOT LINK EXECUTABLE "/data/local/tmp/payload": library "libicu.so" … Read more

Understanding GDB Debugging Principles with Visuals

Understanding GDB Debugging Principles with Visuals

1. Introduction This article discusses the renowned GDB. We won’t mention its prestigious background; like its sibling GCC, it was born with a golden key and holds an irreplaceable position in the GNU family. Every embedded development engineer has likely used gdb to debug programs; if you haven’t, it only indicates your development experience hasn’t … Read more

Build Your Own GDB: Basic Functionality

Build Your Own GDB: Basic Functionality

What is GDB GDB stands for the GNU Project debugger, primarily used for debugging user-mode applications. According to the official documentation, GDB supports debugging applications written in the following languages: Ada Assembly C C++ D Fortran Go Objective-C OpenCL Modula-2 Pascal Rust Of course, the most common use is for debugging applications written in C/C++. … Read more