Control Program Debugging Across Mismatched Source Code Versions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing debugging methods for control programs in automation systems fail to effectively handle situations where the source code differs from the compiled machine code, necessitating retranslation upon every change, which is inefficient and complicates collaboration among developers.
Innovation Solution
A method that utilizes machine code-source code relations and source code identities to establish mappings between different versions of source code, allowing debugging operations to be performed directly on modified source code without retranslation, even when the source code does not correspond to the machine code.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the source code is modified and retranslated to machine code for debugging, then the debugging accuracy is improved, but the development time and productivity deteriorate
Solution Approach 1:
The patent applies preliminary action by pre-generating and storing the machine code-source code relation map before debugging operations. This map establishes the correspondence relationships between machine code instructions and source code lines in advance, so that when debugging is needed, the system can directly use this pre-established mapping without performing time-consuming retranslation operations, thus resolving the contradiction between debugging accuracy and development time
Solution Approach 2:
The patent uses copying by creating and maintaining a separate machine code-source code relation map that copies the essential mapping information from the original compilation process. This relation map serves as a lightweight copy that can be quickly referenced during debugging without requiring the full source code to be retranslated, enabling fast debugging while preserving accuracy
2Adaptability or versatility
If the source code version on the development system differs from the compiled version, then the debugging flexibility is improved, but the reliability of debugging information deteriorates
Solution Approach 1:
The patent introduces an intermediary mechanism - the machine code-source code relation map - that mediates between the source code version on the development system and the compiled machine code. This intermediary maintains the correspondence relationships even when source code versions differ, allowing developers to debug with flexible source code versions while the relation map ensures the reliability of debugging information by accurately mapping to the actual executed machine code
Solution Approach 2:
The system implements feedback by continuously maintaining and updating the machine code-source code relation map to reflect the actual state of the compiled code. When source code changes occur, the system can update the relation map accordingly, providing feedback about the current correspondence state. This ensures that even with different source code versions, the debugging information remains reliable as it is based on the actual compiled machine code
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The invention relates to a method (100) for executing a debugging process of a control program of an automation system (200), comprising: in a receiving step (101), receiving a first machine code/source code relation (211) and a first source code identity (213) by a development system (203) for executing the debugging process (224); in a source code comparison step (103), comparing the first source code identity (213) with a second source code identity (217) of a second source code version (215) executed on the development system (203); in an identity generation step (105), generating a version identity (219) based on the comparison between the first source code identity (213) and the second source code identity (217); in a relation determination step (107), determining a second machine code/source code relation (227) based on the first machine code/source code relation (211) and the version identity (219); and in a debugging step (109), executing the debugging process (224) of the machine code (209) stored on the control unit (201) on the basis of the second source code version (215) using the second machine code/source code relation (227).