Trace Data Indexing for Debug Navigation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The high volume of trace data generated by processors during program execution makes it difficult for developers to locate specific debugging information, as there are billions of events captured in a short time, overwhelming traditional debugging tools.

Innovation Solution

A system that inserts index values into trace data, allowing users to selectively navigate and display portions of the data using a software debugger program, which correlates trace data with object code versions and provides user-selectable displays based on these index values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If trace data is captured at high processor speeds, then the volume of trace data becomes overwhelming, but the information needed for debugging is present in the trace data

Engineering Contradiction:
Improvevolume of trace dataVSAvoiddifficulty of locating information
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The patent segments the overwhelming trace data into manageable portions by inserting index values at specific points in the trace data stream. These index values create logical divisions that allow debuggers to navigate and display only relevant portions of the trace data, transforming one massive undifferentiated data set into segmented, navigable sections.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces index values as intermediary elements within the trace data stream. These index values act as mediators between the raw trace data and the debugger interface, providing a structured way to access and navigate the data without requiring direct manipulation of the entire data set.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If all trace data is displayed, then complete debugging information is available, but the user cannot focus on specific events or anomalies

Engineering Contradiction:
Improvecompleteness of debugging informationVSAvoidability to focus on specific events
Core Design Contradiction:
Loss of informationVSEase of operation

Solution Approach 1:

The patent implements dynamic navigation capabilities that allow users to interactively explore trace data at different levels of detail. The system can dynamically adjust the displayed portion of trace data based on user selections of index values, enabling flexible focus on specific events while maintaining access to the complete data set when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent adds a navigation dimension to the trace data display by incorporating index values that create additional layers of access. Instead of a single linear view of all trace data, the system provides multiple access points and viewing levels, allowing users to navigate through the data in different dimensions and focus on relevant portions without losing access to the complete information.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS7802149B2Navigating trace data
Publication Date: 2010.09.21 TEXAS INSTRUMENTS INC
  • US7802149B2 patent drawing
  • US7802149B2 patent drawing
  • US7802149B2 patent drawing

AI summary

Navigating trace data. A traced program, or the operating system responsible for the traced program, writes index values to a particular hardware location, which index values become part of the trace data by operation of hardware devices in the target system. A debug-trace program (executed either in an attached host computer or as an embedded debugger) uses the index values to assist the user of the debug-trace program in navigating to particular portions of the trace data based on the index values.