Beyond debug information: Improving program reconstruction in LLDB using C++ modules
Examensarbete för masterexamen
https://hdl.handle.net/20.500.12380/300037| File | Description | Size | Format | |
|---|---|---|---|---|
| CSE 19-49 Isemann.pdf | Beyond Debug Information: Improving Program Reconstruction in LLDB using C++ Modules | 3.22 MB | Adobe PDF | View/Open |
| Type: | Examensarbete för masterexamen |
| Title: | Beyond debug information: Improving program reconstruction in LLDB using C++ modules |
| Authors: | Isemann, Raphael |
| Abstract: | Expression evaluation is a core feature of every modern C++ debugger. Still, no C++ debugger currently features an expression evaluator that consistently supports advanced language features such as meta-programming with templates. The underlying problem is that the debugger can often only partially reconstruct the debugged program from the debug information. This thesis presents a solution to this problem by using C++ modules as an additional source of program information. We developed a prototype based on the LLDB debugger that is loading missing program components from the C++ modules used by the program. With this approach, our prototype is able to reliably reconstruct more components than other widely used C++ debuggers such as GDB, Microsoft Visual Studio Debugger and LLDB itself. However, our prototype was slower than LLDB and could only improve program reconstruction for components which are defined in a C++ module. |
| Keywords: | compilers, debuggers, C++ , LLVM, C++ modules, Clang, LLDB |
| Issue Date: | 2019 |
| Publisher: | Chalmers tekniska högskola / Institutionen för data och informationsvetenskap |
| URI: | https://hdl.handle.net/20.500.12380/300037 |
| Collection: | Examensarbeten för masterexamen // Master Theses |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.