Debug-Trace Program Operating Context Association

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Debugging software programs in multi-tasking systems is challenging due to difficulties in determining the operating context of a particular task, including identifying the relevant channel, processor utilization, power usage, and other contextual information from trace data alone.

Innovation Solution

A method that involves a computer-readable medium storing a debug-trace program which displays trace data and allows users to select an address to view the operating context, with the operating system writing context data to a log buffer and memory locations to associate with trace data, providing additional contextual information such as task switches, semaphore states, and processor utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If trace data is collected for debugging in multi-tasking systems, then execution information is captured, but operating context information is lost or difficult to determine

Engineering Contradiction:
Improveoperating context informationVSAvoiddebugging system complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by having the operating system write operating context information to a log buffer during normal operation, before debugging analysis is needed. This pre-captured context data is then associated with trace data through matching techniques, eliminating the need to collect context information in real-time during debugging.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A log buffer acts as an intermediary between the operating system and the trace data collection system. The log buffer stores operating context information that can later be matched with trace data using matching techniques, serving as a mediator that connects execution traces with their contextual information without requiring direct real-time coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If operating context data is collected and stored, then debugging information is improved, but memory usage and system resources are consumed

Engineering Contradiction:
Improvedebugging accuracyVSAvoidmemory resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system extracts only the essential operating context information needed for debugging into a compact log buffer format. By selecting and storing only relevant context data (task identifiers, channel information, event log entries, processor utilization, power usage) rather than complete system states, memory consumption is minimized while maintaining debugging reliability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of storing complete system states or duplicating entire task contexts, the system creates simplified copies of essential operating context information in the log buffer. These compact representations are sufficient for debugging purposes and consume minimal memory resources compared to full system state copies.

Inventive Principle:
Principle #26Copying

3Ease of operation

If real-time operating context monitoring is implemented, then contextual information is available, but system performance is degraded

Engineering Contradiction:
Improvecontext accessibilityVSAvoidprocessor performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The operating context information is captured preliminarily during normal system operation through lightweight logging mechanisms, rather than being monitored in real-time during debugging sessions. This approach makes context data accessible without imposing real-time monitoring overhead on processor performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The operating system itself performs the logging of operating context information to the log buffer as part of its normal operation, without requiring external monitoring tools or additional processing resources. This self-service approach minimizes the performance impact on the traced system while ensuring context data is continuously available.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7987393B2Determining operating context of an executed instruction
Publication Date: 2011.07.26 TEXAS INSTRUMENTS INC
  • US7987393B2 patent drawing
  • US7987393B2 patent drawing
  • US7987393B2 patent drawing

AI summary

Determining operating context of an executed instruction. At least some of the illustrative embodiments are a computer-readable medium storing a debug-trace program that, when executed by a processor, causes the processor to display trace data on a display device (the trace data comprising a plurality of addresses of instructions executed by a target processor), enable a user of the debug-trace program to select an address of the plurality of addresses to create a selected address, and display data based on an operating context proximate in time to when the instruction of the selected address was executed on the target processor.