13 个仓库
Low-level analysis of software crashes and performance at the machine code level.
Distinguishing note: Focuses on system-level investigation rather than high-level application debugging.
Explore 13 awesome GitHub repositories matching operating systems & systems programming · System Debugging. Refine with filters or upvote what's useful.
Geth is a comprehensive execution client for the Ethereum network, serving as a foundational node implementation that processes transactions, maintains the distributed ledger state, and participates in peer-to-peer consensus. It provides a robust infrastructure for synchronizing, validating, and serving blockchain data, utilizing a persistent Merkle Patricia Trie database to ensure the cryptographic integrity of historical records. As a sandboxed smart contract runtime, it executes bytecode according to deterministic protocol rules, enabling the deployment and interaction of decentralized appl
Geth identifies performance bottlenecks and execution patterns within smart contracts by counting unigrams, bigrams, and trigrams across executed instructions.
This project is a graphical Windows debugger designed for the analysis and manipulation of compiled binary applications. It functions as a comprehensive binary analysis suite, providing a real-time environment for inspecting CPU registers, monitoring memory states, and tracing instruction execution to investigate system-level software behavior. The tool distinguishes itself through an event-driven debugging loop that allows for precise process control and state modification during runtime. It supports advanced analysis techniques, including hardware-breakpoint injection for monitoring memory
Investigates crashes and performance bottlenecks by inspecting CPU registers and machine code.
This project is a collection of portable, header-only C functions designed for integration into software projects without complex build dependencies or external linking requirements. It provides a suite of low-level utilities for graphics, audio, and data management, focusing on direct memory manipulation and zero-dependency portability. By utilizing a single-header distribution model, the library simplifies dependency management while allowing developers to maintain full control over memory allocation and binary size through compile-time configuration. The library distinguishes itself by off
Tracks heap allocations and deallocations to identify and report memory leaks at program termination.
QtScrcpy is a cross-platform desktop application designed for mirroring and controlling Android devices. It functions as a high-performance client that captures mobile display output and streams it to a computer monitor, enabling real-time interaction through a persistent connection. The application distinguishes itself by supporting the simultaneous management of multiple mobile devices from a single interface, allowing for batch operations and synchronized inputs. Users can map standard desktop mouse and keyboard actions to mobile touch events using custom scripts, facilitating efficient na
Provides a bridge to tunnel shell commands and input events to mobile devices without root access.
Delve is a command-line debugger designed for programs written in the Go programming language. It provides an interactive interface for runtime analysis, allowing developers to control program execution, inspect memory and variable states, and navigate call stacks to identify logic errors. The tool distinguishes itself through deep integration with the Go runtime, specifically by providing goroutine-aware stack unwinding and the ability to manage concurrent execution threads. It utilizes a client-server protocol to decouple the debugger engine from the user interface, enabling both local and
Uses operating system system calls to pause, resume, and inspect process memory and register states.
Awesome-adb is a curated collection of resources and utilities designed for interacting with Android devices via the command line. It serves as a comprehensive toolkit for developers and system administrators to facilitate the development, testing, and maintenance lifecycle of mobile applications and system software. The project provides a centralized reference for leveraging the Android Debug Bridge to perform complex tasks, including mobile automation, system-level debugging, and device fleet management. It covers a wide range of capabilities such as simulating user input for stress testing
Provides utilities for monitoring system logs, inspecting process states, and modifying hardware configurations to troubleshoot software issues.
MAME is a vintage hardware emulation platform designed to recreate the circuitry of arcade games, computers, and consoles to run original software on modern devices. It functions as a retro gaming preservation framework for managing, verifying, and archiving ROM sets and disk images to ensure long-term software accessibility. The project features a system debugging tool for inspecting emulated memory, CPU registers, and execution flow via breakpoints and disassembly. It also includes a Lua-based automation layer that exposes core system state and hardware controls for custom behavior and anal
Inspects memory, registers, and execution flow in real-time using breakpoints to analyze low-level software behavior.
htop is a terminal-based system resource monitor and interactive process viewer. It functions as a text-user interface dashboard for overseeing hardware temperatures, load averages, and battery status while providing a comprehensive tool for monitoring and managing system processes. The application distinguishes itself through detailed process lifecycle management, allowing users to kill processes, adjust priorities via renicing, and assign CPU affinity to specific cores. It provides high-level visibility into system behavior through process hierarchy visualization and the ability to inspect
Allows inspection of environment variables and command lines to debug application behavior on live systems.
OSV 是一个 unikernel 操作系统和云原生执行环境,旨在作为安全微型虚拟机 (microVM) 在 KVM、Firecracker、Xen 和 VMware 等虚拟机管理程序上运行。它是一个与 Linux 二进制兼容的运行时,允许未经修改的 Linux 二进制文件作为安全微型虚拟机执行,而无需重新编译。 该项目通过将应用程序打包成最小化的可启动镜像以及提供虚拟机管理 API 而脱颖而出。此 REST 接口支持远程监控系统健康状况、管理执行跟踪以及控制客户虚拟机状态。 该系统涵盖了广泛的底层功能,包括对称多处理调度、基于通道的网络栈和虚拟设备集成。它包括用于内存泄漏检测、CPU 使用率采样和网络数据包跟踪的全面可观测性工具,以及对各种启动文件系统和持久块存储管理的支持。
Allows connecting remote debuggers to analyze system traces and investigate machine-code level behavior.
NuttX 是一个符合 POSIX 标准的实时操作系统,专为从 8 位到 64 位架构的微控制器而设计。它提供了一个具有实时任务调度器和 POSIX 嵌入式内核的确定性执行环境,以确保跨不同硬件目标的可移植代码执行。 该项目通过全面的硬件抽象层脱颖而出,该层为各种半导体芯片组提供了 I2C、SPI、CAN 和 USB 的标准化驱动程序。它还具有支持 TCP、UDP、IPv4 和 IPv6 的嵌入式网络栈,以及 Modbus 和 DroneCAN 等工业协议。 该系统涵盖了广泛的功能,包括具有按需分页的高级内存管理、安全加密操作,以及用于管理不同存储类型的虚拟文件系统。它进一步集成了用于图形用户界面、音频合成以及执行多种脚本语言和 WebAssembly 工作负载的高级接口。 该环境使用 Make 或 CMake 构建,以针对特定的板卡配置和半导体芯片组。
Performs low-level analysis of system failures using coredumps, critical section monitoring, and stack backtraces.
HyperDbg is a hardware-assisted kernel-mode debugging platform that leverages virtualization to monitor and control system execution. By utilizing hypervisor-level primitives, it enables deep system analysis and instrumentation without relying on standard operating system debugging interfaces. The framework provides a comprehensive environment for inspecting both kernel and user-mode processes, allowing for granular control over execution flow and system state. The project distinguishes itself through a transparent debugging layer designed to remain invisible to the target environment. It emp
Provides low-level system debugging capabilities for inspecting kernel and user-mode execution flow and state.
Lilu is a kernel patching engine and runtime code injection framework designed to modify kernel drivers and libraries in memory. It functions as an operating system customization framework that intercepts function calls and redirects execution flow within the kernel to resolve hardware compatibility issues and adjust system stability. The project employs a modular platform that allows for the injection of code and the modification of system libraries during the boot process without altering files on disk. It utilizes a plugin-based extension architecture and a standardized API interface to lo
Enables low-level analysis of kernel-level execution flow using runtime hooks and boot-time configurations.
Chips 是一个模块化的、仅头文件的 C 语言库框架,专为构建周期精确的硬件模拟器和复制历史上的八位计算架构而设计。它提供了通过集成单个模拟微处理器和外围芯片来构建完整复古系统所需的基础组件。 该框架通过组件化架构脱颖而出,其中硬件模块实现为可以连接在一起形成复杂系统的独立头文件。它在底层建模硬件交互,利用引脚级信号模拟和内存映射总线通信来确保确定性行为。开发者可以将模拟器的整个内部状态捕获到内存缓冲区中,从而实现持久化快照和精确的状态恢复。 该项目包括一套全面的诊断和开发工具,例如即时模式调试可视化以及对系统寄存器和帧缓冲区的实时监控。它还提供命令行实用程序来自动化硬件组件定义和源代码的生成,促进自定义嵌入式环境的构建。
Provides an integrated debugger with cycle-accurate timing, breakpoint management, and state inspection for deep system investigation.