21.11 Repository Directory Mapping

<< Click to Display Table of Contents >>

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

21.11 Repository Directory Mapping

The debugging, tracing, and determinism infrastructure spans the following locations:

 

Location

Key Files

Responsibility

coreLib/

ExecTrace.h (EXECTRACE macros, PalEntryReasonTrace, WriteEntry)

Compile-time-controlled instrumentation macros, structured trace record types

tools/LogReader/

LogReader_GUI.h, LogReader_Complete.cpp

Real-time diagnostic GUI application with TCP socket connection, live filtering, severity-level display

emulatrLib/

ExecutionCoordinator.h (getSystemStatus, getCPUStatus)

System-level diagnostic APIs, deterministic scheduling coordination

Per-subsystem

DEBUG_LOG / DEBUG_LOG_CONTEXT calls throughout all subsystems

Component-tagged diagnostic logging with CPU ID, subsystem identification, severity levels

Compile flag

AXP_INSTRUMENTATION_TRACE

Master compile-time switch for EXECTRACE macro activation — when undefined, all macros compile to zero-cost no-ops

 

The tracing infrastructure is deliberately lightweight: ExecTrace.h defines the macro interface and data types, while the actual trace emission is distributed across every subsystem that produces architecturally significant events. The LogReader application is a standalone tool that does not link against the emulator core — it connects via TCP socket, maintaining the observational-only guarantee.

 

See Also: Chapter 14 – Execution Domains (“Boxes”) (per-box tracing integration); Chapter 13 – AlphaPipeline Implementation  (pipeline-level tracing); Chapter 22 – Testing, Validation, and Architectural Compliance  (how tracing supports the verification strategy).