13 repositorios
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 is a unikernel operating system and cloud-native execution environment designed to run as a secure microVM on hypervisors such as KVM, Firecracker, Xen, and VMware. It functions as a Linux binary compatible runtime, allowing unmodified Linux binaries to be executed as secure microVMs without requiring recompilation. The project distinguishes itself through its ability to package applications into minimal bootable images and its provide of a virtual machine management API. This REST interface enables remote monitoring of system health, management of execution traces, and control over guest
Allows connecting remote debuggers to analyze system traces and investigate machine-code level behavior.
NuttX is a POSIX-compliant real-time operating system designed for microcontrollers ranging from 8-bit to 64-bit architectures. It provides a deterministic execution environment with a real-time task scheduler and a POSIX embedded kernel to ensure portable code execution across diverse hardware targets. The project distinguishes itself through a comprehensive hardware abstraction layer that provides standardized drivers for I2C, SPI, CAN, and USB across various semiconductor chipsets. It also features an embedded networking stack supporting TCP, UDP, IPv4, and IPv6, alongside industrial proto
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 es un framework de biblioteca C modular y de solo encabezados diseñado para construir simuladores de hardware precisos a nivel de ciclo y replicar arquitecturas informáticas históricas de ocho bits. Proporciona los componentes fundamentales necesarios para construir sistemas vintage completos integrando microprocesadores emulados individuales y chips periféricos. El framework se distingue por una arquitectura basada en componentes donde los módulos de hardware se implementan como encabezados independientes que pueden conectarse entre sí para formar sistemas complejos. Modela las interacciones de hardware a un nivel bajo, utilizando emulación de señales a nivel de pin y comunicación de bus mapeada en memoria para asegurar un comportamiento determinista. Los desarrolladores pueden capturar todo el estado interno de un emulador en un búfer de memoria, permitiendo instantáneas persistentes y una restauración precisa del estado. El proyecto incluye un conjunto integral de herramientas de diagnóstico y desarrollo, como visualización de depuración en modo inmediato y monitoreo en tiempo real de registros del sistema y framebuffers. También proporciona utilidades de línea de comandos para automatizar la generación de definiciones de componentes de hardware y código fuente, facilitando la construcción de entornos embebidos personalizados.
Provides an integrated debugger with cycle-accurate timing, breakpoint management, and state inspection for deep system investigation.