21.6 LogReader Diagnostic Application

<< Click to Display Table of Contents >>

Navigation:  ASA-EMulatR Reference Guide > Introduction > Architecture Overview > Chapter 21 – Debugging, Tracing, and Determinism >

21.6 LogReader Diagnostic Application

The LogReader is a separate Qt-based GUI application (tools/LogReader/) that provides real-time diagnostic monitoring of the running emulator. It connects to the emulator via a TCP socket server, receiving structured log records in real time.

 

LogReader features: live filtering by component and log level (show/hide specific subsystems such as IBox, MBox, CBox, PAL, FaultDispatcher, IRQPendingState), source-based filtering (device name, CPU ID), severity-level filtering, full-text search across log history, and real-time streaming display. The LogReader is built as a standalone executable (LogReader_GUI.h, LogReader_Complete.cpp) linked against Qt6::Core, Qt6::Widgets, and Qt6::Network.

 

The emulator exposes system-level diagnostic APIs: ExecutionCoordinator::getSystemStatus() provides a full system diagnostic summary, getCPUStatus(cpuId) provides per-CPU state, and CPUStateManager::getAllCPUStatesString() provides a snapshot of all CPU states (Running, Halted, Waiting, Quiesced, Reset). SPAM TLB cache statistics are accessible via dumpSPAMStats(cpuId) reporting hits, misses, and evictions.

 

See Also: tools/LogReader/ (LogReader_GUI.h, LogReader_Complete.cpp).