Index: lldb/docs/.htaccess =================================================================== --- lldb/docs/.htaccess +++ lldb/docs/.htaccess @@ -15,9 +15,9 @@ Redirect 301 /resources/source.html https://lldb.llvm.org/resources/contributing.html Redirect 301 /resources/download.html https://lldb.llvm.org/status/releases.html Redirect 301 /use/architecture.html https://lldb.llvm.org/resources/architecture.html -Redirect 301 /resources/architecture.html https://lldb.llvm.org/design/overview.html -Redirect 301 /resources/reproducers.html https://lldb.llvm.org/design/reproducers.html -Redirect 301 /resources/sbapi.html https://lldb.llvm.org/design/sbapi.html +Redirect 301 /resources/architecture.html https://lldb.llvm.org/resources/overview.html +Redirect 301 /design/sbapi.html https://lldb.llvm.org/resources/sbapi.html +Redirect 301 /design/overview.html https://lldb.llvm.org/resources/overview.html # Redirect old Python API to new Python API. Redirect 301 /python_reference/lldb-module.html https://lldb.llvm.org/python_api.html Index: lldb/docs/index.rst =================================================================== --- lldb/docs/index.rst +++ lldb/docs/index.rst @@ -107,24 +107,13 @@ `__ mailing list, and this is also the preferred mailing list for patch submissions. -See the :doc:`Projects page ` if you are looking for some +See the :doc:`Projects page ` if you are looking for some interesting areas to contribute to lldb. .. toctree:: :hidden: :maxdepth: 1 - :caption: Project - - status/goals - status/features - status/status - status/projects - status/releases - -.. toctree:: - :hidden: - :maxdepth: 1 - :caption: Use & Extension + :caption: Using LLDB use/tutorial use/map @@ -133,45 +122,40 @@ use/symbolication use/symbols use/extensions - use/python - use/python-reference use/remote use/qemu-testing use/intel_pt use/ondemand use/troubleshooting use/links + Man Page .. toctree:: :hidden: :maxdepth: 1 - :caption: Development - - resources/contributing - resources/build - resources/test - resources/fuzzing - resources/bots - resources/caveats - + :caption: Extending LLDB -.. toctree:: - :hidden: - :maxdepth: 1 - :caption: Design + use/python + use/python-reference + Python API - design/overview - design/sbapi .. toctree:: :hidden: :maxdepth: 1 - :caption: Reference + :caption: Developing LLDB - Public Python API + resources/overview + resources/contributing + resources/build + resources/test + resources/fuzzing + resources/bots + resources/sbapi + resources/caveats + resources/projects Public C++ API Private C++ API - Man Page .. toctree:: :hidden: @@ -179,5 +163,6 @@ :caption: External Links Source Code + Releases Code Reviews Bug Reports Index: lldb/docs/resources/fuzzing.rst =================================================================== --- lldb/docs/resources/fuzzing.rst +++ lldb/docs/resources/fuzzing.rst @@ -1,5 +1,5 @@ -Fuzzing LLDB -============ +Fuzzing +======= Overview -------- Index: lldb/docs/resources/overview.rst =================================================================== --- lldb/docs/resources/overview.rst +++ lldb/docs/resources/overview.rst @@ -1,5 +1,5 @@ -Overview -======== +Design Overview +=============== LLDB is a large and complex codebase. This section will help you become more familiar with the pieces that make up LLDB and give a general overview of the Index: lldb/docs/status/features.rst =================================================================== --- lldb/docs/status/features.rst +++ /dev/null @@ -1,18 +0,0 @@ -Features -======== - -LLDB supports a broad variety of basic debugging features such as reading DWARF, supporting step, next, finish, backtraces, etc. Some more interested bits are: - -* Plug-in architecture for portability and extensibility: - - * Object file parsers for executable file formats. Support currently includes Mach-O (32 and 64-bit) & ELF (32-bit). - * Object container parsers to extract object files contained within a file. Support currently includes universal Mach-O files & BSD Archives. - * Debug symbol file parsers to incrementally extract debug information from object files. Support currently includes DWARF & Mach-O symbol tables. - * Symbol vendor plug-ins collect data from a variety of different sources for an executable object. - * Disassembly plug-ins for each architecture. Support currently includes an LLVM disassembler for i386, x86-64 , ARM/Thumb, and PPC64le - * Debugger plug-ins implement the host and target specific functions required to debug. - -* SWIG-generated script bridging allows Python to access and control the public API of the debugger library. -* A remote protocol server, debugserver, implements macOS debugging on i386 and x86-64. -* A command line debugger - the lldb executable itself. -* A framework API to the library. Index: lldb/docs/status/goals.rst =================================================================== --- lldb/docs/status/goals.rst +++ /dev/null @@ -1,44 +0,0 @@ -Goals -===== - -The current state of the art in open source debuggers are that they work in the -common cases for C applications, but don't handle many "hard cases" properly. -For example, C++ expression parsing, handling overloading, templates, -multi-threading, and other non-trivial scenarios all work in some base cases, -but don't work reliably. - -The goal of LLDB is to provide an amazing debugging experience that "just -works". We aim to solve these long-standing problems where debuggers get -confused, so that you can think about debugging your problem, not about -deficiencies in the debugger. - -With a long view, there is no good reason for a debugger to reinvent its own -C/C++ parser, type system, know all the target calling convention details, -implement its own disassembler, etc. By using the existing libraries vended by -the LLVM project, we believe that many of these problems will be defined away, -and the debugger can focus on important issues like process control, efficient -symbol reading and indexing, thread management, and other debugger-specific -problems. - -Some more specific goals include: - -* Build libraries for inclusion in IDEs, command line tools, and other analysis - tools -* High performance and efficient memory use -* Extensible: Python scriptable and use a plug-in architecture -* Reuse existing compiler technology where it makes sense -* Excellent multi-threaded debugging support -* Great support for C, Objective-C and C++ -* Retargetable to support multiple platforms -* Provide a base for debugger research and other innovation - -Why a New Debugger? -------------------- - -In order to achieve our goals we decided to start with a fresh architecture -that would support modern multi-threaded programs, handle debugging symbols in -an efficient manner, use compiler based code knowledge and have plug-in support -for functionality and extensions. Additionally we want the debugger -capabilities to be available to other analysis tools, be they scripts or -compiled programs, without requiring them to be GPL. - Index: lldb/docs/status/releases.rst =================================================================== --- lldb/docs/status/releases.rst +++ /dev/null @@ -1,14 +0,0 @@ -Releases -======== - -Nightly Builds --------------- - -Nightly builds of LLDB are packaged and tested from trunk: - -Debian and Ubuntu: https://apt.llvm.org - -Releases --------- - -LLDB is packaged in most of the Debian & Ubuntu releases and in pkgsrc (NetBSD). Index: lldb/docs/status/status.rst =================================================================== --- lldb/docs/status/status.rst +++ /dev/null @@ -1,68 +0,0 @@ -Status -====== - -FreeBSD -------- - -LLDB on FreeBSD lags behind the Linux implementation but is improving rapidly. -For more details, see the Features by OS section below. - -Linux ------ - -LLDB is improving on Linux. Linux is nearing feature completeness with Darwin -to debug x86_64, i386, ARM, AArch64, IBM POWER (ppc64), and IBM Z (s390x) -programs. For more details, see the Features by OS section below. - -macOS ------ - -LLDB is the system debugger on macOS, iOS, tvOS, and watchOS and -can be used for C, C++, Objective-C and Swift development for x86_64, -i386, ARM, and AArch64 debugging. The entire public API is exposed -through a macOS framework which is used by Xcode and the `lldb` -command line tool. It can also be imported from Python. The entire public API is -exposed through script bridging which allows LLDB to use an embedded Python -script interpreter, as well as having a Python module named "lldb" which can be -used from Python on the command line. This allows debug sessions to be -scripted. It also allows powerful debugging actions to be created and attached -to a variety of debugging workflows. - -NetBSD ------- - -LLDB is improving on NetBSD and reaching feature completeness with Linux. - -Windows -------- - -LLDB on Windows is still under development, but already useful for i386 -programs (x86_64 untested) built with DWARF debug information, including -postmortem analysis of minidumps. For more details, see the Features by OS -section below. - -Features Matrix ---------------- -+-----------------------+--------------------+-------------------------+-------------------+--------------------+----------------------+ -| Feature | FreeBSD | Linux | macOS | NetBSD | Windows | -+=======================+====================+=========================+===================+====================+======================+ -| Backtracing | YES | YES | YES | YES | YES | -+-----------------------+--------------------+-------------------------+-------------------+--------------------+----------------------+ -| Breakpoints | YES | YES | YES | YES | YES | -+-----------------------+--------------------+-------------------------+-------------------+--------------------+----------------------+ -| C++11: | YES | YES | YES | YES | Unknown | -+-----------------------+--------------------+-------------------------+-------------------+--------------------+----------------------+ -| Commandline tool | YES | YES | YES | YES | YES | -+-----------------------+--------------------+-------------------------+-------------------+--------------------+----------------------+ -| Core file debugging | YES (ELF) | YES (ELF) | YES (MachO) | YES (ELF) | YES (Minidump) | -+-----------------------+--------------------+-------------------------+-------------------+--------------------+----------------------+ -| Remote debugging | YES (lldb-server) | YES (lldb-server) | YES (debugserver) | YES (lldb-server) | NO | -+-----------------------+--------------------+-------------------------+-------------------+--------------------+----------------------+ -| Disassembly | YES | YES | YES | YES | YES | -+-----------------------+--------------------+-------------------------+-------------------+--------------------+----------------------+ -| Expression evaluation | YES (known issues) | YES (known issues) | YES | YES (known issues) | YES (known issues) | -+-----------------------+--------------------+-------------------------+-------------------+--------------------+----------------------+ -| JIT debugging | Unknown | Symbolic debugging only | Untested | Work In Progress | NO | -+-----------------------+--------------------+-------------------------+-------------------+--------------------+----------------------+ -| Objective-C 2.0: | Unknown | N/A | YES | Unknown | N/A | -+-----------------------+--------------------+-------------------------+-------------------+--------------------+----------------------+