7 repositorios
Capabilities to inspect and control execution across multiple threads simultaneously during a debugging session.
Distinct from Thread Inspection: Distinct from Thread Inspection: focuses on interactive debugging of concurrent code paths, not just listing threads.
Explore 7 awesome GitHub repositories matching operating systems & systems programming · Multi-Threaded Debugging. Refine with filters or upvote what's useful.
The C/C++ extension for Visual Studio Code provides language support for C and C++ programming, including IntelliSense-powered code editing, navigation, and debugging capabilities. It enables syntax highlighting, code completion, hover information, and error checking for C and C++ source files, along with features like semantic colorization, symbol search, and call hierarchy exploration. The extension offers comprehensive debugging support for C/C++ programs, including launching debug sessions with breakpoints, stepping through code, and inspecting variables. It supports debugging multi-threa
Provides a thread panel to view call stacks and control execution across concurrent threads.
CppGuide is a curated collection of educational resources and practical guides focused on C++ server development, Linux kernel internals, concurrent programming, network protocols, and security exploitation. It provides structured learning paths for backend developers, covering everything from interview preparation to building high-performance network servers and understanding operating system fundamentals. The guide distinguishes itself by offering in-depth, hands-on tutorials that walk through real-world implementations, including building a Redis-like server from scratch, designing custom
Inspect and control individual threads in a running program to find concurrency bugs and race conditions.
seL4 is a formally verified microkernel whose C implementation is backed by machine-checked mathematical proofs of correctness, confidentiality, integrity, and availability. It enforces strict isolation between processes through hardware-enforced address space separation and a capability-based access control system, where each process holds explicit rights only to the resources it has been granted. The kernel exposes hardware resources through a minimal API of system calls that manage threads, address spaces, and inter-process communication, with synchronous IPC supporting sender-identifying b
Advances a thread one instruction at a time by configuring hardware debug registers.
Booster es un optimizador de compilación y manipulador de bytecode para aplicaciones Android, diseñado para reducir el tamaño del binario, corregir fallos a nivel de sistema y mejorar el rendimiento de la aplicación. Funciona como un plugin extensible del proceso de compilación que modifica archivos de clase compilados y artefactos de construcción para inyectar correcciones de estabilidad y optimizaciones sin alterar el código fuente original. El proyecto se diferencia por la manipulación de bytecode de bajo nivel para parchear errores a nivel de SO y gestionar pools de hilos durante la fase de compilación. También proporciona un kit de herramientas de perfilado de rendimiento para identificar operaciones que bloquean el hilo principal y analizar problemas de estabilidad relacionados con los recursos. La herramienta cubre una amplia gama de capacidades de optimización de paquetes, incluyendo compresión de imágenes para PNG y WebP, eliminación de recursos redundantes y optimización del índice de recursos. La funcionalidad adicional incluye ajuste de rendimiento para la gestión de hilos, escrituras asíncronas de preferencias y análisis estático para escanear artefactos de compilación y detectar riesgos de seguridad y cuellos de botella. El sistema utiliza una interfaz de proveedor de servicios para la integración de plugins personalizados y puede ejecutarse como una aplicación independiente desacoplada del entorno de compilación principal.
Injects caller class names into thread identifiers during compilation to facilitate easier performance troubleshooting.
This project is a thread-safe, asynchronous logging library designed for C++ applications. It provides a comprehensive diagnostic toolkit that enables developers to record system events, track execution flow across multiple threads, and manage log output through severity-based filtering and automated file maintenance. By offloading log formatting and disk input/output to background worker threads, the library minimizes latency on the main execution path, ensuring high performance in time-critical systems. The framework distinguishes itself through its flexible configuration and diagnostic cap
Assigns custom string identifiers to execution threads to trace log messages back to their specific origin.
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
Inspects active threads and switches execution context to specific threads for analysis.
Blackmagic is a GDB server for embedded hardware that translates GDB remote protocol messages into JTAG and SWD commands. It functions as an ARM and RISC-V debugger and hardware debug probe manager, enabling users to inspect memory, control execution, and manage registers on ARM Cortex and RISC-V cores. The project distinguishes itself by acting as a remote hardware debugging bridge that can stream GDB server traffic over TCP/IP to control physical hardware from a remote machine. It also provides a JTAG and SWD interface to connect host computers to target hardware and serves as an embedded f
Configures hardware watchpoints to trigger execution breaks on specific memory address accesses.