Server-Side Breakpoint Insertion for Dynamic Web Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Debugging server-side code for complex web applications is challenging due to the dynamic generation of web pages from multiple source files, requiring developers to have a complete understanding of all involved files, which is often difficult to obtain, especially in collaborative development environments.

Innovation Solution

A method for inserting server-side breakpoints in response to requests from a remote development client, where a web document is dynamically generated with metadata identifying the source files used for each element, allowing the server to insert breakpoints and provide an updated web document with code execution up to the breakpoint, enabling developers to debug without needing to know which source files to access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If developers directly access and debug source files on the server, then debugging capability is improved, but the complexity of understanding multiple source files increases significantly

Engineering Contradiction:
Improvedebugging capabilityVSAvoidsource file complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces a web document as an intermediary layer between the developer and the complex source files. The web document contains element code segments with metadata that maps to specific source files, allowing developers to debug by interacting with the web document rather than directly navigating multiple source files. This mediator simplifies the debugging interface while maintaining the ability to access underlying source code when needed.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If developers need to understand all source files involved in dynamic web page generation, then debugging precision is improved, but the time required to obtain complete understanding increases

Engineering Contradiction:
Improvedebugging precisionVSAvoidtime to understand source files
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary action by pre-generating the web document with embedded metadata that identifies which source files are involved in generating each element. This preparation work is done before the developer needs to debug, so when debugging occurs, the developer can immediately see the relevant source file mappings without needing to manually trace through the dynamic generation process, thus reducing the time required to gain understanding while maintaining debugging precision.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If the web document includes metadata identifying source files for each element, then ease of debugging is improved, but the complexity of the web document structure increases

Engineering Contradiction:
Improveease of debuggingVSAvoidweb document structure
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the web document into element code segments, where each segment corresponds to a specific element and includes metadata identifying the source file used to generate it. This segmentation allows the debugging system to process and present information in manageable units, making debugging easier while the added structural complexity is localized to individual elements rather than the entire document.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9648139B2Inserting server-side breakpoints requested by remote development clients
Publication Date: 2017.05.09 ADOBE INC
  • US9648139B2 patent drawing
  • US9648139B2 patent drawing
  • US9648139B2 patent drawing

AI summary

In some embodiments, a server application can provide a web document to a development application. The web document is dynamically generated from source files. The web document includes element code segments for rendering respective elements of the web document in a browser. Each element code segment includes respective metadata for identifying a respective source file used to generate the element code segment. The server application can receive a breakpoint request from the development application to insert at least one breakpoint in at least one source file identifiable using the metadata in the web document. The server application can insert the breakpoint in the source file responsive to the breakpoint request. The server application can provide an updated web document to the development application. The updated web document includes a subset of the element code segments dynamically generated by executing source code up to the breakpoint in the source file.