Skip to Main content Skip to Navigation

Le débogage de code optimisé dans le contexte des systèmes embarqués.

Abstract : Optimizations play a major role in the process of compilation for embedded programs. They are to be found at every level, working on different intermediate representations. From the size of run-time memory usage to the available power of execution, embedded systems usually constrain the execution of programs they run. The common structure of a compiler is to collect debugging information at the very beginning of the compilation. It later adds it to the binary file, after having optimized the program, i.e. modified its internal structure. Thus, the debugging information is inaccurate. Since debuggers rely on it, their answers will be wrong. The standard method for development is to work without optimizations until the release. At delivery, optimizations are turned on, rarely before. Our approach is to reveal the execution of the optimized program to the user so the latter understands the mapping to the source code in spite of transformations applied to the program. We do not emulate the execution of the unoptimized program. We make good use of the programmer's knowledge of its development platform. From the analysis of the state of the art of the debugging of optimized code, we developed an industry-oriented solution. Our goal is to reveal the reality to the user thanks to so-called non-transparent debugging. It allows the developer to understand the execution of the program. In order to trace optimizations, we label every single statement from the source code and then enrich this labeling during compilation. Added to the binary file, this information is read by the debugger to enable it to answer the user's queries upon the program states. We present our experiment made on the mmdspcc and IDbug, tools provided by STMicroelectronics.
Document type :
Complete list of metadatas

Cited literature [53 references]  Display  Hide  Download
Contributor : Hugo Venturini <>
Submitted on : Monday, October 20, 2008 - 4:24:58 PM
Last modification on : Thursday, November 19, 2020 - 3:58:01 PM
Long-term archiving on: : Tuesday, October 9, 2012 - 2:01:22 PM


  • HAL Id : tel-00332344, version 1




Hugo Venturini. Le débogage de code optimisé dans le contexte des systèmes embarqués.. Autre [cs.OH]. Université Joseph-Fourier - Grenoble I, 2008. Français. ⟨tel-00332344⟩



Record views


Files downloads