Conditional Breakpoints for Autonomous Driving Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Debugging autonomous driving applications is tedious and impractical due to the generation of large amounts of serial data, requiring users to manually step through each frame to analyze specific frames, especially after events like collisions, making precise timing of breakpoint placement nearly impossible.

Innovation Solution

Implementing conditional breakpoints that trigger based on both a line breakpoint and a satisfaction of a predefined simulation or log data condition, allowing the debugger to pause execution only when both conditions are met, thereby focusing debugging efforts on relevant frames.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a line breakpoint is set in the debugger to pause execution at a specific line of source code, then the user can analyze program parameters and variables, but the debugger will stop at the line breakpoint at every frame of serial data, resulting in tedious and impractical debugging

Engineering Contradiction:
Improvedebugging precisionVSAvoiddebugging efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent transforms a simple line breakpoint into a conditional breakpoint by adding an additional parameter (trigger condition) that must be satisfied. This changes the breakpoint behavior from stopping at every frame to stopping only when both the line number and condition are met, thereby improving debugging efficiency while maintaining precision.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The breakpoint is made dynamic by introducing a condition that is evaluated at runtime. Instead of a static line number check, the system now performs a dynamic evaluation of both the line number and the trigger condition (such as log data content or simulation state), allowing the breakpoint to adaptively stop only when relevant.

Inventive Principle:
Principle #15Dynamics

2Measurement precision

If the user manually steps through each frame to reach a specific frame of interest, then the user can analyze the frame, but it takes excessive time and makes precise timing of breakpoint placement nearly impossible

Engineering Contradiction:
Improveframe selection precisionVSAvoiddebugging time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The user sets up the trigger condition in advance (preliminarily) based on knowledge of what frame is of interest (e.g., knowing a collision will occur). The condition is configured beforehand to match the expected state at the target frame, allowing the debugger to automatically stop at the correct frame without manual stepping through all preceding frames.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system provides feedback by continuously monitoring the trigger condition during playback. When the condition becomes true (indicating the frame of interest has been reached), the system immediately stops execution and notifies the user, enabling precise frame selection without time-consuming manual navigation.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If the debugger stops at every line breakpoint during replay, then the user can examine each frame, but the large amounts of serial data generate repetitive stops that make debugging tedious and impractical

Engineering Contradiction:
Improvedebugging convenienceVSAvoiddebugging throughput
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The breakpoint operation is enhanced by adding a condition parameter that filters when the breakpoint should trigger. This transforms the breakpoint from a simple location marker into a conditional event, allowing the user to maintain convenient single-step playback while automatically skipping irrelevant frames and stopping only at meaningful events.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12481573B2Apparatus and method for debugging autonomous driving application with conditional breakpoint
Publication Date: 2025.11.25 WOVEN BY TOYOTA INC
  • US12481573B2 patent drawing
  • US12481573B2 patent drawing
  • US12481573B2 patent drawing

AI summary

A method for debugging an autonomous driving application includes setting a line breakpoint in a line of source code of the application; setting a trigger condition relative to simulation data of a simulator executing the application; running the application by a debugger for debugging the application; and pausing running of the application by the debugger based on the line breakpoint being reached and the trigger condition being hit.