1.8 KiB
1.8 KiB
MARTe2 Universal Debugging & Observability Suite
A professional-grade, zero-code-change debugging suite for the MARTe2 real-time framework.
Features
- Runtime Registry Patching: Instruments all MARTe2 Brokers automatically at startup.
- Hierarchical Tree Explorer: Recursive visualization of the
ObjectRegistryDatabase, including GAMs, DataSources, and Signals. - Real-Time Execution Control: Pause and Resume application logic globally to perform static inspection.
- High-Speed Telemetry: Visual oscilloscope with sub-millisecond precision via UDP.
- Persistent Forcing: Type-aware signal overrides (Last-Writer-Wins) with persistent re-application.
- Isolated Log Streaming: Dedicated TCP channel for real-time framework logs to ensure command responsiveness.
Components
1. C++ Core (libmarte_dev.so)
The core service that handles registry patching, TCP/UDP communication, and real-time safe data capture.
2. Rust GUI Client (marte_debug_gui)
A native, multi-threaded dashboard built with egui.
- Side Panel: Collapsible application tree and signal navigator.
- Bottom Panel: Advanced log terminal with Regex filtering and priority levels.
- Right Panel: Active Trace and Force management.
- Central Pane: High-frequency oscilloscope.
Quick Start
Build
# Build C++ Core
cd Build && cmake .. && make -j$(nproc)
# Build GUI Client
cd Tools/gui_client
cargo build --release
Run
- Start your MARTe2 application with the
DebugServiceenabled. - Launch the GUI:
./Tools/gui_client/target/release/marte_debug_gui
Communication Ports
- 8080 (TCP): Commands (TREE, FORCE, TRACE, PAUSE).
- 8082 (TCP): Real-time framework logs.
- 8081 (UDP): Signal telemetry data.