Post-Processing Memory Debugging via Selective Log Extraction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Debugging and analyzing event-driven simulation and emulation systems for electronics is challenging due to incorrect interactions between hardware and embedded software, especially in post-processing scenarios where APIs for memory value inspection are unavailable, and brute force methods are inefficient and storage-intensive.
Innovation Solution
A computer-implemented method and system that captures log messages in a post-processing environment by generating a complete view of memory state, writing log messages whenever a designated message logging function is reached, and presenting message information in a user interface, using processor models to retrieve parameters and determine callers, with features like breakpoints and pseudo-comments to minimize system impact.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a brute force solution stops the simulation at each tick of time to dump the entire state of memory, then complete memory inspection is achieved, but efficiency deteriorates and storage requirements increase
Solution Approach 1:
The patent extracts only the necessary debugging information (log messages from specific functions) from the complete memory state, rather than dumping entire memory contents. This selective extraction achieves sufficient debugging capability while dramatically reducing storage requirements and processing overhead.
Solution Approach 2:
The patent implements logging functions within the embedded software that proactively record relevant information during normal execution. This preliminary action captures debugging data without interrupting the simulation flow, eliminating the need for stopping the simulation at each tick.
2Measurement precision
If a brute force solution stops the simulation at each tick of time to dump the entire state of memory, then complete memory inspection is achieved, but storage requirements increase
Solution Approach 1:
The patent extracts only the necessary debugging information (log messages from specific functions) from the complete memory state, rather than dumping entire memory contents. This selective extraction achieves sufficient debugging capability while dramatically reducing storage requirements and processing overhead.
3Ease of operation
If APIs are used to access memory values at run-time, then memory inspection is enabled, but the simulation environment requires special APIs that may not exist in post-processing scenarios
Solution Approach 1:
The patent creates a log message copy of the relevant debugging information during normal simulation execution. This copy can be accessed and analyzed in post-processing environments without requiring special APIs or modifying the original simulation environment, thus achieving broad compatibility.
4Loss of information
If logging functions are implemented in embedded software, then debugging information is captured, but system complexity increases
Solution Approach 1:
The patent implements a universal logging mechanism that can be applied to any embedded software without modification. The logging function serves multiple purposes: capturing debugging information, maintaining system state, and enabling post-processing analysis, thus justifying the added complexity through multi-functionality.
Data Source
AI summary
The present disclosure relates to a system and method for capturing log messages in a post-processing debugging environment. Embodiments may include receiving a processor model associated with an electronic design and generating, using one or more processors and the processor model, a complete view of the state of the memory. Embodiments may further include writing, using one or more processors and the processor model, a log message whenever a designated message logging function is reached within the complete view of the state of the memory.


