Skip to content

Commit 77f8a33

Browse files
committed
Add a "Using LLDB" section to the welcome page of the website
This is an attempt to feature the user-facing resources more prominently on the LLDB website by calling out the tutorial and the GDB command map wight on the start page. I also moved the "Why a new debugger" section to the "Goals" subpage. Given that LLDB's first release is almost a decade in the past now, the title is a bit of an anachronism. Lastly, I moved the Architecture sub-page from "use" to "resources", since end-users do not care about the source code layout. Differential Revision: https://reviews.llvm.org/D70449
1 parent 882f23c commit 77f8a33

File tree

4 files changed

+31
-17
lines changed

4 files changed

+31
-17
lines changed

lldb/docs/.htaccess

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Redirect 301 /architecture/index.html https://lldb.llvm.org/use/architecture.html
1+
Redirect 301 /architecture/index.html https://lldb.llvm.org/resources/architecture.html
22
Redirect 301 /cpp_reference/html/index.html https://lldb.llvm.org/cpp_reference/index.html
33
Redirect 301 /features.html https://lldb.llvm.org/status/features.html
44
Redirect 301 /formats.html https://lldb.llvm.org/use/formatting.html
@@ -13,3 +13,4 @@ Redirect 301 /varformats.html https://lldb.llvm.org/use/variable.html
1313
# Sphinx redirects
1414
Redirect 301 /resources/source.html https://lldb.llvm.org/resources/contributing.html
1515
Redirect 301 /resources/download.html https://lldb.llvm.org/status/releases.html
16+
Redirect 301 /use/architecture.html https://lldb.llvm.org/resources/architecture.html

lldb/docs/index.rst

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,23 @@ All of the code in the LLDB project is available under the
1717

1818
.. _"Apache 2.0 License with LLVM exceptions": https://llvm.org/docs/DeveloperPolicy.html#new-llvm-project-license-framework
1919

20-
Why a New Debugger?
21-
-------------------
20+
Using LLDB
21+
----------
2222

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.
2931

3032
Compiler Integration Benefits
3133
-----------------------------
3234

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
3537
latest C, C++, Objective-C and Objective-C++ language features and runtimes in
3638
expressions without having to reimplement any of this functionality. It also
3739
leverages the compiler to take care of all ABI details when making functions
@@ -51,7 +53,7 @@ Reusability
5153
The LLDB debugger APIs are exposed as a C++ object oriented interface in a
5254
shared library. The lldb command line tool links to, and uses this public API.
5355
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
5557
through Python script bindings which allow the API to be used within the LLDB
5658
embedded script interpreter, and also in any python script that loads the
5759
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
6870
are welcome:
6971

7072
* 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
7375
* Linux local user-space debugging for i386, x86_64 and PPC64le
7476
* FreeBSD local user-space debugging for i386 and x86_64
7577
* Windows local user-space debugging for i386 (*)
@@ -91,8 +93,8 @@ Note that LLDB generally builds from top-of-trunk using CMake and Ninja.
9193
Additionally it builds:
9294

9395
* 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++
9698
* on Windows with a generated project for VS 2017 or higher
9799

98100
See the :doc:`LLDB Build Page <resources/build>` for build instructions.
@@ -132,13 +134,13 @@ interesting areas to contribute to lldb.
132134
use/python-reference
133135
use/remote
134136
use/troubleshooting
135-
use/architecture
136137

137138
.. toctree::
138139
:hidden:
139140
:maxdepth: 1
140141
:caption: Development
141142

143+
resources/architecture
142144
resources/contributing
143145
resources/build
144146
resources/test
File renamed without changes.

lldb/docs/status/goals.rst

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,14 @@ Some more specific goals include:
3131
* Great support for C, Objective-C and C++
3232
* Retargetable to support multiple platforms
3333
* Provide a base for debugger research and other innovation
34+
35+
Why a New Debugger?
36+
-------------------
37+
38+
In order to achieve our goals we decided to start with a fresh architecture
39+
that would support modern multi-threaded programs, handle debugging symbols in
40+
an efficient manner, use compiler based code knowledge and have plug-in support
41+
for functionality and extensions. Additionally we want the debugger
42+
capabilities to be available to other analysis tools, be they scripts or
43+
compiled programs, without requiring them to be GPL.
44+

0 commit comments

Comments
 (0)