From bdfb339b8d1d0480c42bfbcf76b96c1f7fcdec75 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 5 Jan 2004 05:06:33 +0000 Subject: [PATCH] First version of this document. It is still missing some pretty big pieces, and the debugging information formats will likely change, but it's a start, and I have to move on to other things in the short-term, so it might be a while before I get back to working on this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10683 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/SourceLevelDebugging.html | 906 +++++++++++++++++++++++++++++++++ docs/venusflytrap.jpg | Bin 0 -> 56606 bytes 2 files changed, 906 insertions(+) create mode 100644 docs/SourceLevelDebugging.html create mode 100644 docs/venusflytrap.jpg diff --git a/docs/SourceLevelDebugging.html b/docs/SourceLevelDebugging.html new file mode 100644 index 00000000000..ab9af996ba2 --- /dev/null +++ b/docs/SourceLevelDebugging.html @@ -0,0 +1,906 @@ + + + + Source Level Debugging with LLVM + + + + +
Source Level Debugging with LLVM
+ + + + +
Introduction
+ + +
+ +

This document is the central repository for all information pertaining to +debug information in LLVM. It describes how to use the llvm-db tool, which provides a +powerful source-level debugger to users of LLVM-based +compilers. When compiling a program in debug mode, the front-end in use adds +LLVM debugging information to the program in the form of normal LLVM program objects as well as a small set of LLVM intrinsic functions, which specify the mapping of the +program in LLVM form to the program in the source language. +

+ +
+ + +
+ Philosophy behind LLVM debugging information +
+ +
+ +

+The idea of the LLVM debugging information is to capture how the important +pieces of the source-language's Abstract Syntax Tree map onto LLVM code. +Several design aspects have shaped the solution that appears here. The +important ones are:

+ +

+ +

+The approach used by the LLVM implementation is to use a small set of intrinsic functions to define a mapping +between LLVM program objects and the source-level objects. The description of +the source-level program is maintained in LLVM global variables in an implementation-defined format (the C/C++ front-end +currently uses working draft 7 of the Dwarf 3 standard).

+ +

+When a program is debugged, the debugger interacts with the user and turns the +stored debug information into source-language specific information. As such, +the debugger must be aware of the source-language, and is thus tied to a +specific language of family of languages. The LLVM +debugger is designed to be modular in its support for source-languages. +

+ +
+ + + +
+ Debugging optimized code +
+ +
+

+An extremely high priority of LLVM debugging information is to make it interact +well with optimizations and analysis. In particular, the LLVM debug information +provides the following guarantees:

+ +

+ +

+Basically, the debug information allows you to compile a program with "-O0 +-g" and get full debug information, allowing you to arbitrarily modify the +program as it executes from the debugger. Compiling a program with "-O3 +-g" gives you full debug information that is always available and accurate +for reading (e.g., you get accurate stack traces despite tail call elimination +and inlining), but you might lose the ability to modify the program and call +functions where were optimized out of the program, or inlined away completely. +

+ +
+ + + +
+ Future work +
+ +
+

+There are several important extensions that could be eventually added to the +LLVM debugger. The most important extension would be to upgrade the LLVM code +generators to support debugging information. This would also allow, for +example, the X86 code generator to emit native objects that contain debugging +information consumable by traditional source-level debuggers like GDB or +DBX.

+ +

+Additionally, LLVM optimizations can be upgraded to incrementally update the +debugging information, new commands can be added to the +debugger, and thread support could be added to the debugger.

+ +

+The "SourceLanguage" modules provided by llvm-db could be substantially +improved to provide good support for C++ language features like namespaces and +scoping rules.

+ +

+After working with the debugger for a while, perhaps the nicest improvement +would be to add some sort of line editor, such as GNU readline (but that is +compatible with the LLVM license).

+ +

+For someone so inclined, it should be straight-forward to write different +front-ends for the LLVM debugger, as the LLVM debugging engine is cleanly +seperated from the llvm-db front-end. A GUI debugger or IDE would be +an interesting project. +

+ +
+ + + +
+ Using the llvm-db tool +
+ + +
+ +

+The llvm-db tool provides a GDB-like interface for source-level +debugging of programs. This tool provides many standard commands for inspecting +and modifying the program as it executes, loading new programs, single stepping, +placing breakpoints, etc. This section describes how to use the debugger. +

+ +

llvm-db has been designed to be as similar to GDB in its user +interface as possible. This should make it extremely easy to learn +llvm-db if you already know GDB. In general, llvm-db +provides the subset of GDB commands that are applicable to LLVM debugging users. +If there is a command missing that make a reasonable amount of sense within the +limitations of llvm-db, please report it as +a bug or, better yet, submit a patch to add it. :)

+ +
+ + +
+ Limitations of llvm-db +
+ +
+ +

llvm-db is the first LLVM debugger, and as such was designed to be +quick to prototype and build, and simple to extend. It is missing many many +features, though they should be easy to add over time (patches welcomed!). +Because the (currently only) debugger backend (implemented in +"lib/Debugger/UnixLocalInferiorProcess.cpp") was designed to work without any +cooperation from the code generators, it suffers from the following inherent +limitations:

+ +

+ +

That said, it is still quite useful, and all of these limitations can be +eliminated by integrating support for the debugger into the code generators. +See the future work section for ideas of how to extend +the LLVM debugger despite these limitations.

+ +
+ + + +
+ A sample llvm-db session +
+ +
+ +

+TODO +

+ +
+ + + + +
+ Starting the debugger +
+ +
+ +

There are three ways to start up the llvm-db debugger:

+ +

When run with no options, just llvm-db, the debugger starts up +without a program loaded at all. You must use the file command to load a program, and the set args or run +commands to specify the arguments for the program.

+ +

If you start the debugger with one argument, as llvm-db +<program>, the debugger will start up and load in the specified +program. You can then optionally specify arguments to the program with the set args or run +commands.

+ +

The third way to start the program is with the --args option. This +option allows you to specify the program to load and the arguments to start out +with. Example use: llvm-db --args ls /home

+ +
+ + +
+ Commands recognized by the debugger +
+ +
+ +

FIXME: this needs work obviously. See the GDB documentation for +information about what these do, or try 'help [command]' within +llvm-db to get information.

+ +

+

General usage:

+ + +

Program inspection and interaction:

+ + +

Call stack inspection:

+ + + +

Debugger inspection and interaction:

+ + +

TODO:

+ +

+
+ + +
+ Architecture of the LLVM debugger +
+ + +
+ +

+lib/Debugger
+  - UnixLocalInferiorProcess.cpp
+
+tools/llvm-db
+  - SourceLanguage interfaces
+  - ProgramInfo/RuntimeInfo
+  - Commands
+
+

+ +
+ + +
+ Short-term TODO list +
+ +
+ +

+FIXME: this section will eventually go away. These are notes to myself of +things that should be implemented, but haven't yet. +

+ +

+Breakpoints: Support is already implemented in the 'InferiorProcess' +class, though it hasn't been tested yet. To finish breakpoint support, we need +to implement breakCommand (which should reuse the linespec parser from the list +command), and handle the fact that 'break foo' or 'break file.c:53' may insert +multiple breakpoints. Also, if you say 'break file.c:53' and there is no +stoppoint on line 53, the breakpoint should go on the next available line. My +idea was to have the Debugger class provide a "Breakpoint" class which +encapsulated this messiness, giving the debugger front-end a simple interface. +The debugger front-end would have to map the really complex semantics of +temporary breakpoints and 'conditional' breakpoints onto this intermediate +level. Also, breakpoints should survive as much as possible across program +reloads. +

+ +

+run (with args) & set args: These need to be implemented. +Currently run doesn't support setting arguments as part of the command. The +only tricky thing is handling quotes right and stuff.

+ +

+UnixLocalInferiorProcess.cpp speedup: There is no reason for the debugged +process to code gen the globals corresponding to debug information. The +IntrinsicLowering object could instead change descriptors into constant expr +casts of the constant address of the LLVM objects for the descriptors. This +would also allow us to eliminate the mapping back and forth between physical +addresses that must be done.

+ +
+ + +
+ Debugging information implementation +
+ + +
+ +

LLVM debugging information has been carefully designed to make it possible +for the optimizer to optimize the program and debugging information without +necessarily having to know anything about debugging information. In particular, +the global constant merging pass automatically eliminates duplicated debugging +information (often caused by header files), the global dead code elimination +pass automatically deletes debugging information for a function if it decides to +delete the function, and the linker eliminates debug information when it merges +linkonce functions.

+ +

To do this, most of the debugging information (descriptors for types, +variables, functions, source files, etc) is inserted by the language front-end +in the form of LLVM global variables. These LLVM global variables are no +different from any other global variables, except that they have a web of LLVM +intrinsic functions that point to them. If the last references to a particular +piece of debugging information are deleted (for example, by the +-globaldce pass), the extraneous debug information will automatically +become dead and be removed by the optimizer.

+ +

The debugger is designed to be agnostic about the contents of most of the +debugging information. It uses a source-language-specific module to decode the +information that represents variables, types, functions, namespaces, etc: this +allows for arbitrary source-language semantics and type-systems to be used, as +long as there is a module written for the debugger to interpret the information. +

+ +

+To provide basic functionality, the LLVM debugger does have to make some +assumptions about the source-level language being debugged, though it keeps +these to a minimum. The only common features that the LLVM debugger assumes +exist are source files, global objects (aka methods, messages, global +variables, etc), and local variables. +These abstract objects are used by the debugger to form stack traces, show +information about local variables, etc. + +

This section of the documentation first describes the representation aspects +common to any source-language. The next section +describes the data layout conventions used by the C and C++ +front-ends.

+ +
+ + +
+ Anchors for global objects +
+ +
+

+One important aspect of the LLVM debug representation is that it allows the LLVM +debugger to efficiently index all of the global objects without having the scan +the program. To do this, all of the global objects use "anchor" globals of type +"{}", with designated names. These anchor objects obviously do not +contain any content or meaning by themselves, but all of the global objects of a +particular type (e.g., source file descriptors) contain a pointer to the anchor. +This pointer allows the debugger to use def-use chains to find all global +objects of that type. +

+ +

+So far, the following names are recognized as anchors by the LLVM debugger: +

+ +

+  %llvm.dbg.translation_units = linkonce global {} {}
+  %llvm.dbg.globals         = linkonce global {} {}
+

+ +

+Using anchors in this way (where the source file descriptor points to the +anchors, as opposed to having a list of source file descriptors) allows for the +standard dead global elimination and merging passes to automatically remove +unused debugging information. If the globals were kept track of through lists, +there would always be an object pointing to the descriptors, thus would never be +deleted. +

+ +
+ + + +
+ + Representing stopping points in the source program + +
+ +
+ +

LLVM debugger "stop points" are a key part of the debugging representation +that allows the LLVM to maintain simple semantics for debugging optimized code. The basic idea is that the +front-end inserts calls to the %llvm.dbg.stoppoint intrinsic function +at every point in the program where the debugger should be able to inspect the +program (these correspond to places the debugger stops when you "step" +through it). The front-end can choose to place these as fine-grained as it +would like (for example, before every subexpression was evaluated), but it is +recommended to only put them after every source statement.

+ +

+Using calls to this intrinsic function to demark legal points for the debugger +to inspect the program automatically disables any optimizations that could +potentially confuse debugging information. To non-debug-information-aware +transformations, these calls simply look like calls to an external function, +which they must assume to do anything (including reading or writing to any part +of reachable memory). On the other hand, it does not impact many optimizations, +such as code motion of non-trapping instructions, nor does it impact +optimization of subexpressions, or any other code between the stop points.

+ +

+An important aspect of the calls to the %llvm.dbg.stoppoint intrinsic +is that the function-local debugging information is woven together with use-def +chains. This makes it easy for the debugger to, for example, locate the 'next' +stop point. For a concrete example of stop points, see the next section.

+ +
+ + + +
+ Object lifetimes and scoping +
+ +
+

+In many languages, the local variables in functions can have their lifetime or +scope limited to a subset of a function. In the C family of languages, for +example, variables are only live (readable and writable) within the source block +that they are defined in. In functional languages, values are only readable +after they have been defined. Though this is a very obvious concept, it is also +non-trivial to model in LLVM, because it has no notion of scoping in this sense, +and does not want to be tied to a language's scoping rules. +

+ +

+In order to handle this, the LLVM debug format uses the notion of "regions" of a +function, delineated by calls to intrinsic functions. These intrinsic functions +define new regions of the program and indicate when the region lifetime expires. +Consider the following C fragment, for example: +

+ +

+1.  void foo() {
+2.    int X = ...;
+3.    int Y = ...;
+4.    {
+5.      int Z = ...;
+6.      ...
+7.    }
+8.    ...
+9.  }
+

+ +

+Compiled to LLVM, this function would be represented like this (FIXME: CHECK AND +UPDATE THIS): +

+ +

+void %foo() {
+    %X = alloca int
+    %Y = alloca int
+    %Z = alloca int
+    %D1 = call {}* %llvm.dbg.func.start(%lldb.global* %d.foo)
+    %D2 = call {}* %llvm.dbg.stoppoint({}* %D1, uint 2, uint 2, %lldb.compile_unit* %file)
+
+    %D3 = call {}* %llvm.dbg.DEFINEVARIABLE({}* %D2, ...)
+    ;; Evaluate expression on line 2, assigning to X.
+    %D4 = call {}* %llvm.dbg.stoppoint({}* %D3, uint 3, uint 2, %lldb.compile_unit* %file)
+
+    %D5 = call {}* %llvm.dbg.DEFINEVARIABLE({}* %D4, ...)
+    ;; Evaluate expression on line 3, assigning to Y.
+    %D6 = call {}* %llvm.dbg.stoppoint({}* %D5, uint 5, uint 4, %lldb.compile_unit* %file)
+
+    %D7 = call {}* %llvm.region.start({}* %D6)
+    %D8 = call {}* %llvm.dbg.DEFINEVARIABLE({}* %D7, ...)
+    ;; Evaluate expression on line 5, assigning to Z.
+    %D9 = call {}* %llvm.dbg.stoppoint({}* %D8, uint 6, uint 4, %lldb.compile_unit* %file)
+
+    ;; Code for line 6.
+    %D10 = call {}* %llvm.region.end({}* %D9)
+    %D11 = call {}* %llvm.dbg.stoppoint({}* %D10, uint 8, uint 2, %lldb.compile_unit* %file)
+
+    ;; Code for line 8.
+    %D12 = call {}* %llvm.region.end({}* %D11)
+    ret void
+}
+

+ +

+This example illustrates a few important details about the LLVM debugging +information. In particular, it shows how the various intrinsics used are woven +together with def-use and use-def chains, similar to how anchors are used with globals. This allows the +debugger to analyze the relationship between statements, variable definitions, +and the code used to implement the function.

+ +

+In this example, two explicit regions are defined, one with the definition of the %D1 variable and one with the +definition of %D7. In the case of +%D1, the debug information indicates that the function whose descriptor is specified as an argument to the +intrinsic. This defines a new stack frame whose lifetime ends when the region +is ended by the %D12 call.

+ +

+Representing the boundaries of functions with regions allows normal LLVM +interprocedural optimizations to change the boundaries of functions without +having to worry about breaking mapping information between LLVM and source-level +functions. In particular, the inlining optimization requires no modification to +support inlining with debugging information: there is no correlation drawn +between LLVM functions and their source-level counterparts.

+ +

+Once the function has been defined, the stopping point corresponding to line #2 of the +function is encountered. At this point in the function, no local +variables are live. As lines 2 and 3 of the example are executed, their +variable definitions are automatically introduced into the program, without the +need to specify a new region. These variables do not require new regions to be +introduced because they go out of scope at the same point in the program: line +9. +

+ +

+In contrast, the Z variable goes out of scope at a different time, on +line 7. For this reason, it is defined within the +%D7 region, which kills the availability of Z before the +code for line 8 is executed. Through the use of LLVM debugger regions, +arbitrary source-language scoping rules can be supported, as long as they can +only be nested (ie, one scope cannot partially overlap with a part of another +scope). +

+ +

+It is worth noting that this scoping mechanism is used to control scoping of all +declarations, not just variable declarations. For example, the scope of a C++ +using declaration is controlled with this, and the llvm-db C++ support +routines could use this to change how name lookup is performed (though this is +not yet implemented). +

+ +
+ + + +
+ Object descriptor formats +
+ +
+

+The LLVM debugger expects the descriptors for global objects to start in a +canonical format, but the descriptors can include additional information +appended at the end. All LLVM debugging information is versioned, allowing +backwards compatibility in the case that the core structures need to change in +some way. The lowest-level descriptor are those describing the files containing the program source +code, all other descriptors refer to them. +

+
+ + + +
+ Representation of source files +
+ +
+

+Source file descriptors were roughly patterned after the Dwarf "compile_unit" +object. The descriptor currently is defined to have the following LLVM +type:

+ +

+%lldb.compile_unit = type {
+       ushort,               ;; LLVM debug version number
+       ushort,               ;; Dwarf language identifier
+       sbyte*,               ;; Filename
+       sbyte*,               ;; Working directory when compiled
+       sbyte*,               ;; Producer of the debug information
+       {}*                   ;; Anchor for llvm.dbg.translation_units
+}
+

+ +

+These descriptors contain the version number for the debug info, a source +language ID for the file (we use the Dwarf 3.0 ID numbers, such as +DW_LANG_C89, DW_LANG_C_plus_plus, DW_LANG_Cobol74, +etc), three strings describing the filename, working directory of the compiler, +and an identifier string for the compiler that produced it, and the anchor for the descriptor. Here is an example +descriptor: +

+ +

+%arraytest_source_file = internal constant %lldb.compile_unit {
+    ushort 0,                                                     ; Version #0
+    ushort 1,                                                     ; DW_LANG_C89
+    sbyte* getelementptr ([12 x sbyte]* %.str_1, long 0, long 0), ; filename
+    sbyte* getelementptr ([12 x sbyte]* %.str_2, long 0, long 0), ; working dir
+    sbyte* getelementptr ([12 x sbyte]* %.str_3, long 0, long 0), ; producer
+    {}* %llvm.dbg.translation_units                               ; Anchor
+}
+%.str_1 = internal constant [12 x sbyte] c"arraytest.c\00"
+%.str_2 = internal constant [12 x sbyte] c"/home/sabre\00"
+%.str_3 = internal constant [12 x sbyte] c"llvmgcc 3.4\00"
+

+ + +
+ + + +
+ Representation of global objects +
+ +
+

+The LLVM debugger needs to know what the source-language global objects, in +order to build stack traces and other related activities. Because +source-languages have widly varying forms of global objects, the LLVM debugger +only expects the following fields in the descriptor for each global: +

+ +

+%lldb.global = type {
+       %lldb.compile_unit*,   ;; The translation unit containing the global
+       sbyte*,                ;; The global object 'name'
+       [type]*,               ;; Source-language type descriptor for global
+       {}*                    ;; The anchor for llvm.dbg.globals
+}
+

+ +

+The first field contains a pointer to the translation unit the function is +defined in. This pointer allows the debugger to find out which version of debug +information the function corresponds to. The second field contains a string +that the debugger can use to identify the subprogram if it does not contain +explicit support for the source-language in use. This should be some sort of +unmangled string that corresponds to the function somehow. +

+ +

+Note again that descriptors can be extended to include source-language-specific +information in addition to the fields required by the LLVM debugger. See the section on the C/C++ front-end for more +information. +

+
+ + + + +
+ Representation of local variables +
+ +
+

+

+
+ + + +
+ Other intrinsic functions +
+ +
+

+ +

+
+ + + + +
+ C/C++ front-end specific debug information +
+ +
+ +

+The C and C++ front-ends represent information about the program in a format +that is effectively identical to Dwarf 3.0 in terms of +information content. This allows code generators to trivially support native +debuggers by generating standard dwarf information, and contains enough +information for non-dwarf targets to translate it other as needed.

+ +

+TODO: document extensions to standard debugging objects, document how we +represent source types, etc. +

+ +
+ + +
+ Object Descriptor Formats +
+ +
+

+ +

+
+ + + + +
+ + + + diff --git a/docs/venusflytrap.jpg b/docs/venusflytrap.jpg new file mode 100644 index 0000000000000000000000000000000000000000..59340ef3ee12f4f46732e4a0bfd7a5521dc0d759 GIT binary patch literal 56606 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