Memory Access Interrupts for Automated Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current debugging techniques for software crashes lack sufficient granularity to identify the events leading to crashes without excessively increasing system overhead, particularly in timing-sensitive programs.

Innovation Solution

A method that interacts with the memory management component to force interrupts upon memory access, saving debugging information including time, application processes, register contents, and memory locations, allowing for automated crash recovery by restoring saved states.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If state information is saved every time a procedure is executed to provide debugging granularity, then debugging information completeness is improved, but system overhead increases significantly

Engineering Contradiction:
Improvedebugging information completenessVSAvoidsystem overhead
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The system performs preliminary configuration of memory access monitoring before execution. Debugging information is captured only when specifically triggered by memory access events, rather than continuously saving state information. This allows the system to be prepared for debugging without the constant overhead of continuous state capture.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of continuous state saving, the system uses periodic capture triggered by specific memory access events. The monitoring is activated only when certain memory locations are accessed, creating a periodic rather than continuous operation that reduces overall system overhead while still capturing critical debugging information.

Inventive Principle:
Principle #19Periodic action

2Measurement precision

If continuous monitoring of memory access is implemented to capture crash events, then debugging information accuracy is improved, but system performance deteriorates

Engineering Contradiction:
Improvedebugging information accuracyVSAvoidsystem performance
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The system applies different monitoring qualities to different memory locations. Critical memory areas that are likely to cause crashes are monitored with high precision, while other areas use standard monitoring. This localized approach ensures accurate capture of crash-related events without the performance penalty of uniform high-precision monitoring across all memory.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system implements partial monitoring by focusing only on specific memory access events that are relevant to crash debugging. Rather than monitoring all memory access uniformly, it selectively monitors accesses to critical sections, achieving sufficient debugging accuracy without excessive performance overhead.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7689868B2Memory handling techniques to facilitate debugging
Publication Date: 2010.03.30 SONY INTERACTIVE ENTERTAINMENT LLC
  • US7689868B2 patent drawing
  • US7689868B2 patent drawing
  • US7689868B2 patent drawing

AI summary

A method for debugging includes interacting with a memory management component to force an interrupt upon access to one or more memory locations during software execution, and in response to the forced interrupt, saving information regarding the execution of the software, and interacting with the memory management component to disable the interrupt upon access to the one or more memory locations during software execution.