@@ -17,21 +17,23 @@ All of the code in the LLDB project is available under the
17
17
18
18
.. _"Apache 2.0 License with LLVM exceptions" : https://llvm.org/docs/DeveloperPolicy.html#new-llvm-project-license-framework
19
19
20
- Why a New Debugger?
21
- -------------------
20
+ Using LLDB
21
+ ----------
22
22
23
- In order to achieve our goals we decided to start with a fresh architecture
24
- that would support modern multi-threaded programs, handle debugging symbols in
25
- an efficient manner, use compiler based code knowledge and have plug-in support
26
- for functionality and extensions. Additionally we want the debugger
27
- capabilities to be available to other analysis tools, be they scripts or
28
- compiled programs, without requiring them to be GPL.
23
+ For an introduction into the LLDB command language, head over to the
24
+ :ref: `LLDB Tutorial <use/tutorial >`. For users already familiar with
25
+ GDB there is a cheat sheet listing common tasks and their LLDB
26
+ equivalent in the :ref: `GDB to LLDB command map <use/map >`.
27
+
28
+ There are also multiple resources on how to script LLDB using Python
29
+ :ref: `Python Reference <use/python-reference >` is a great starting
30
+ point for that.
29
31
30
32
Compiler Integration Benefits
31
33
-----------------------------
32
34
33
- LLDB currently converts debug information into clang types so that it can
34
- leverage the clang compiler infrastructure. This allows LLDB to support the
35
+ LLDB converts debug information into Clang types so that it can
36
+ leverage the Clang compiler infrastructure. This allows LLDB to support the
35
37
latest C, C++, Objective-C and Objective-C++ language features and runtimes in
36
38
expressions without having to reimplement any of this functionality. It also
37
39
leverages the compiler to take care of all ABI details when making functions
@@ -51,7 +53,7 @@ Reusability
51
53
The LLDB debugger APIs are exposed as a C++ object oriented interface in a
52
54
shared library. The lldb command line tool links to, and uses this public API.
53
55
On macOS the shared library is exposed as a framework named LLDB.framework,
54
- and unix systems expose it as lldb.so. The entire API is also then exposed
56
+ and Unix systems expose it as lldb.so. The entire API is also then exposed
55
57
through Python script bindings which allow the API to be used within the LLDB
56
58
embedded script interpreter, and also in any python script that loads the
57
59
lldb.py module in standard python script files. See the Python Reference page
@@ -68,8 +70,8 @@ LLDB is known to work on the following platforms, but ports to new platforms
68
70
are welcome:
69
71
70
72
* macOS desktop user space debugging for i386 and x86_64
71
- * iOS simulator debugging on i386 and x86_64
72
- * iOS device debugging on ARM and AArch64
73
+ * iOS, tvOS, and watchOS simulator debugging on i386 and x86_64
74
+ * iOS, tvOS, and watchOS device debugging on ARM and AArch64
73
75
* Linux local user-space debugging for i386, x86_64 and PPC64le
74
76
* FreeBSD local user-space debugging for i386 and x86_64
75
77
* Windows local user-space debugging for i386 (*)
@@ -91,8 +93,8 @@ Note that LLDB generally builds from top-of-trunk using CMake and Ninja.
91
93
Additionally it builds:
92
94
93
95
* on macOS with a :ref: `generated Xcode project <CMakeGeneratedXcodeProject >`
94
- * on Linux and FreeBSD with clang and libstdc++/libc++
95
- * on NetBSD with GCC/clang and libstdc++/libc++
96
+ * on Linux and FreeBSD with Clang and libstdc++/libc++
97
+ * on NetBSD with GCC/Clang and libstdc++/libc++
96
98
* on Windows with a generated project for VS 2017 or higher
97
99
98
100
See the :doc: `LLDB Build Page <resources/build >` for build instructions.
@@ -132,13 +134,13 @@ interesting areas to contribute to lldb.
132
134
use/python-reference
133
135
use/remote
134
136
use/troubleshooting
135
- use/architecture
136
137
137
138
.. toctree ::
138
139
:hidden:
139
140
:maxdepth: 1
140
141
:caption: Development
141
142
143
+ resources/architecture
142
144
resources/contributing
143
145
resources/build
144
146
resources/test
0 commit comments