Mastering Byteman: Dynamic Debugging and Fault Injection for Java

Mastering Byteman: Dynamic Debugging and Fault Injection for Java

As a Java programmer, have you encountered these issues: online faults that are hard to reproduce, debugging processes that are difficult to start, and testing scenarios that cannot cover edge conditions? Don’t worry, today I’m going to introduce you to a powerful tool: Byteman. It allows you to dynamically modify the behavior of Java applications … Read more

How to Debug FPGA Using Internal Logic Analyzers?

How to Debug FPGA Using Internal Logic Analyzers?

1 Reasons Driving Change in FPGA Debugging Technology The reprogramming capability of FPGAs is a key advantage in the functional debugging of hardware designs. In the early days of using CPLDs and FPGAs, when a design was found to be malfunctioning, engineers would use the “debug hook” method. They would route the internal signals of … Read more

Introduction to PROFIBUS Connection Debugging Cases

Introduction to PROFIBUS Connection Debugging Cases

PROFIBUS is an international, open, fieldbus standard that is independent of device manufacturers. The transmission speed can be selected from 9.6 kbaud to 12 Mbaud, and when the bus system starts, all devices connected to the bus should be set to the same speed. It is used for factory automation at the workshop level for … Read more

Understanding SWD Download Communication Principles

Understanding SWD Download Communication Principles

Follow+Star PublicAccount, don’t miss exciting content Author | strongerHuang WeChat Public Account | Embedded Column The mainstream download interfaces for microcontrollers based on the Cortex-M core are JTAG and SWD. Differences Between SWD and JTAG Pins: JTAG: TDI: Test Data In. Serial input pin TDO: Test Data Out, serial output pin TCK: Test Clock, clock … Read more

SWD Low-Level Implementation Principles

SWD Low-Level Implementation Principles

Author | strongerHuang WeChat Official Account | Embedded Column The mainstream download interfaces for microcontrollers based on the Cortex-M core are JTAG and SWD. Differences Between SWD and JTAG Pins: JTAG: TDI:Test Data In. Serial input pin TDO:Test Data Out, serial output pin TCK:Test Clock, clock pin TMS:Test Mode Select, mode select (control signal) pin … Read more

C++ Debugging Tips: How to Quickly Locate Issues with GDB

C++ Debugging Tips: How to Quickly Locate Issues with GDB

Writing code inevitably leads to bugs. Using print statements to check values? That’s too basic! Today, let’s have a good talk about using GDB, the debugging tool. Don’t be fooled by its simple interface; its debugging capabilities are truly powerful! What is GDB? Simply put, GDB is a command-line debugging tool that allows you to … Read more

Advanced Linux Debugging Techniques: GDB Reverse Debugging Made Easy

Advanced Linux Debugging Techniques: GDB Reverse Debugging Made Easy

Reverse Debugging has a cool nickname – Time Travel Debugging. Yes, you read that right, it’s time travel debugging! Just looking at the name, you can tell how amazing it is! To explain it clearly, this article is quite long, so please read patiently; it won’t disappoint you! Introduction When debugging programs, have you encountered … Read more

Advanced GDB Usage Techniques

Advanced GDB Usage Techniques

Custom Commands The following statement is written in ~/.gdbinit to define a custom command lmem. This command requires one parameter, which is a memory address that serves as the head of a linked list. The structure of the linked list is BlockLink_t. The function of this command is to traverse the linked list and print … Read more

Learn to Use GDB for Debugging Go Code

Learn to Use GDB for Debugging Go Code

Hello everyone, I am Jianyu. In the previous article “A Demo to Learn Debugging with Go Delve”, we detailed how to use Delve in Go for troubleshooting and debugging, which was very helpful for problem resolution. However, debugging tools are not limited to Delve. Today, we will introduce a second powerful tool: GDB, to complete … Read more

In-Depth PHP Debugging with GDB

In-Depth PHP Debugging with GDB

Author: bobyzhang, Tencent IEG Operations Development Engineer There is a debug mode when compiling PHP, which disables memory optimization, alerts for memory leaks, and disables call stack optimization to allow us to see the complete PHP C-level call stack. Typically, I compile two versions of PHP (one normal and one with debug) in different directories, … Read more