Debugging Device Compiler Optimization Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional debugging devices cannot distinguish between information generated by compiler optimization that does not need to be debugged and information that requires debugging, nor can they add messages to the start and end positions of such code or hide it effectively.
Innovation Solution
A debugging device with an analysis section to identify and an output section to display or hide code generated by compiler optimization, including a display selecting section to choose between displaying or hiding implicitly generated code, and a display processing section to add messages indicating the start and end of such code.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If compiler optimization is applied to generate code, then execution efficiency is improved, but debugging difficulty increases due to inability to distinguish optimized code from source code
Solution Approach 1:
The patent introduces an intermediary mechanism (attribute information and markers) between the compiler optimization process and the debugging display system. This intermediary layer preserves the benefits of optimization while providing the debugging system with metadata to distinguish optimized code regions, thereby resolving the contradiction between execution efficiency and debugging ease.
2Loss of information
If all generated code is displayed during debugging, then complete code visibility is achieved, but information overload occurs making it hard to identify important debuggable code
Solution Approach 1:
The patent applies local quality by differentiating the display treatment of different code regions. Debuggable code is displayed with full visibility and standard formatting, while non-debuggable optimized code is marked or hidden with reduced visual prominence. This selective display quality allows developers to focus on important debuggable portions without being overwhelmed by all generated code.
3Measurement precision
If step execution is performed through optimized code, then detailed debugging control is maintained, but debugging time increases due to unnecessary step-by-step execution of non-debuggable code
Solution Approach 1:
The patent introduces dynamic control capabilities that allow the debugging system to adapt its behavior based on the code region being executed. The system can dynamically adjust the level of detail in step execution, allowing coarse-grained skipping of non-debuggable optimized code blocks while maintaining fine-grained step-by-step control when entering debuggable source code regions, thus optimizing debugging time without losing necessary control precision.
Data Source
AI summary
A debugging device configured to debug a program includes an analysis section configured to analyze information of a code that does not need to be debugged in which a predetermined processing instruction is described, the code being generated by optimization of a compiler for a source code of the program, and an output section configured to output processing content information, a start address, and an end address of the code that does not need to be debugged which are obtained by the analysis.


