Dieser Inhalt ist in der von Ihnen ausgewählten Sprache nicht verfügbar.

Chapter 3. The LLDB debugger


The LLDB debugger is a command-line tool for debugging C and C++ programs. Use LLDB to inspect memory within the code being debugged, control the execution state of the code, and detect the execution of particular sections of code.

LLVM Toolset is distributed with LLDB 20.1.8.

3.1. Prerequisites

3.2. Starting a debugging session

Use LLDB to start an interactive debugging session. You can then set breakpoints, step through code, and inspect program state.

Procedure

  1. Run LLDB on a program you want to debug:

    $ lldb <binary_file>

    Replace <binary_file> with the name of your compiled program.

    You have started your LLDB debugging session in interactive mode. Your command-line terminal now displays the default prompt (lldb).

  2. To quit the debugging session and return to the shell prompt:

    (lldb) quit

3.3. Executing your program during a debugging session

Use LLDB to run your program during your debugging session. The execution of your program stops when the first breakpoint is reached, when an error occurs, or when the program terminates.

Procedure

  • Run the program you are debugging:

    (lldb) run

    Alternatively, run the program you are debugging by using a specific argument:

    (lldb) run <argument>

    Replace <argument> with the command-line argument you want to use.

3.4. Using breakpoints

Use breakpoints to pause the execution of your program at a set point in your source code. When execution reaches a breakpoint, LLDB stops the program so you can inspect its state.

Procedure

  • To set a new breakpoint on a specific line, enter:

    (lldb) breakpoint set --file <source_file_name> --line <line_number>

    Replace <source_file_name> with the name of your source file and <line_number> with the line number you want to set your breakpoint at.

  • To set a breakpoint on a specific function, enter:

    (lldb) breakpoint set --name <function_name>
    • Replace <function_name> with the name of the function you want to set your breakpoint at.
  • To display a list of currently set breakpoints, enter:

    (lldb) breakpoint list
  • To delete a breakpoint, run:

    (lldb) breakpoint clear -f <source_file_name> -l <line_number>
    • Replace <source_file_name> with the name of your source file and <line_number> with line number of the breakpoint you want to delete.
  • To resume the execution of your program after it reached a breakpoint, enter:

    (lldb) continue
  • To skip a specific number of breakpoints, enter:

    (lldb) continue -i <breakpoints_to_skip>
    • Replace <breakpoints_to_skip> with the number of breakpoints you want to skip. To skip a loop, set the <breakpoints_to_skip> to match the loop iteration count.

3.5. Stepping through code

You can use LLDB to step through the code of your program to run only one line of code after the line pointer.

Procedure

  1. Set your line pointer to the line you want to run.
  2. Enter:

    (lldb) step

3.6. Listing source code

Before you run the program you are debugging, the LLDB debugger automatically displays the first 10 lines of source code. Each time the execution of the program is stopped, LLDB displays the line of source code on which it stopped and its surrounding lines. You can use LLDB to manually trigger the display of source code during your debugging session.

Procedure

  • To list the first 10 lines of the source code of the program you are debugging, enter:

    (lldb) list
    (lldb) list <source_file_name>:<line_number>

    Replace <source_file_name> with the name of your source file and <line_number> with the number of the line you want to display.

3.7. Displaying current program data

The LLDB debugger provides data on variables of any complexity, any valid expressions, and function call return values. You can use LLDB to display data relevant to the program state.

Procedure

  • Display the current value of a certain variable, expression, or return value:

    (lldb) print <data_name>

    Replace <data_name> with data you want to display.

Red Hat logoGithubredditYoutubeTwitter

Lernen

Testen, kaufen und verkaufen

Communitys

Über Red Hat Dokumentation

Wir helfen Red Hat Benutzern, mit unseren Produkten und Diensten innovativ zu sein und ihre Ziele zu erreichen – mit Inhalten, denen sie vertrauen können. Entdecken Sie unsere neuesten Updates.

Mehr Inklusion in Open Source

Red Hat hat sich verpflichtet, problematische Sprache in unserem Code, unserer Dokumentation und unseren Web-Eigenschaften zu ersetzen. Weitere Einzelheiten finden Sie in Red Hat Blog.

Über Red Hat

Wir liefern gehärtete Lösungen, die es Unternehmen leichter machen, plattform- und umgebungsübergreifend zu arbeiten, vom zentralen Rechenzentrum bis zum Netzwerkrand.

Theme

© 2026 Red Hat
Nach oben