mirror of
https://github.com/python/cpython
synced 2024-09-18 21:01:42 +00:00
59057ce55a
Content adapted from https://devguide.python.org/development-tools/gdb/# and https://wiki.python.org/moin/DebuggingWithGdb. The original content on the Wiki page came from gdb debug help used by the Launchpad (https://launchpad.net/) team. Thanks to Anatoly Techtonik and user `rmf` for substantial improvements to the Wiki page. The history of the Devguide page follows (with log entries expanded for major content contributions): Hugo van Kemenade, Sat Dec 30 21:22:04 2023 +0200 Hugo van Kemenade, Fri Dec 8 12:04:32 2023 +0200 Erlend E. Aasland & Hugo van Kemenade, Tue Aug 8 22:05:34 2023 +0200 Satish Mishra, Sat Feb 11 13:54:57 2023 +0530 Hugo van Kemenade, Fri Dec 23 17:33:33 2022 +0200 Skip Montanaro, Hugo, Erlend, & Ezio, Fri Nov 4 05:04:23 2022 -0500 Add a GDB tips section to Advanced Tools (#977) Adam Turner, Wed Jun 15 21:19:23 2022 +0100 Adam Turner, Tue Jun 14 11:12:26 2022 +0100 Suriyaa, Fri Jun 8 19:39:23 2018 +0200 Jeff Allen, Tue Oct 24 18:12:53 2017 +0100 Jeff Allen, Fri Oct 13 13:43:43 2017 +0100 Mariatta, Wed Jan 4 09:14:55 2017 -0800 Carol Willing, Mon Sep 26 14:50:54 2016 -0700 Zachary Ware, Thu Jul 21 10:42:23 2016 -0500 Georg Brandl, Mon Nov 3 11:28:19 2014 +0100 Add instruction how to activate python-gdb.py Georg Brandl, Sun Mar 9 10:32:01 2014 +0100 Georg Brandl, Tue Apr 3 09:12:53 2012 +0200 Georg Brandl, Sat Mar 5 17:32:35 2011 +0100 Dave Malcolm, Fri Jan 21 12:34:09 2011 -0500 Add documentation on the gdb extension commands provided in libpython.py I adapted this from documentation I wrote for the Fedora wiki: https://fedoraproject.org/wiki/Features/EasierPythonDebugging#New_gdb_commands reformatting it as rst, and making other minor changes Brett Cannon, Thu Jan 20 15:16:52 2011 -0800 Dave Malcolm, Thu Jan 20 16:17:23 2011 -0500 Add some notes on the gdb pretty-printer hooks Antoine Pitrou, Thu Jan 20 21:17:49 2011 +0100 Give an example backtrace Antoine Pitrou, Thu Jan 20 21:03:06 2011 +0100 Expand explanations about gdb support Brett Cannon, Thu Jan 20 11:33:36 2011 -0800 Tweak the gdb support title to fit in better with the devguide. Brett Cannon, Mon Jan 17 21:12:54 2011 +0000 Short README on gdb support. Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com> Co-authored-by: anatoly techtonik <techtonik@gmail.com> Co-authored-by: Antoine Pitrou <solipsis@pitrou.net> Co-authored-by: Brett Cannon <brett@python.org> Co-authored-by: Carol Willing <carolcode@willingconsulting.com> Co-authored-by: Dave Malcolm <dmalcolm@redhat.com> Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com> Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com> Co-authored-by: Georg Brandl <georg@python.org> Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Co-authored-by: Jeff Allen <ja.py@farowl.co.uk> Co-authored-by: Mariatta <Mariatta@users.noreply.github.com> Co-authored-by: Petr Viktorin <encukou@gmail.com> Co-authored-by: Satish Mishra <7506satish@gmail.com> Co-authored-by: Skip Montanaro <skip.montanaro@gmail.com> Co-authored-by: Suriyaa <isc.suriyaa@gmail.com> Co-authored-by: Zachary Ware <zachary.ware@gmail.com> |
||
---|---|---|
.. | ||
_static | ||
c-api | ||
data | ||
distributing | ||
extending | ||
faq | ||
howto | ||
includes | ||
installing | ||
library | ||
reference | ||
tools | ||
tutorial | ||
using | ||
whatsnew | ||
about.rst | ||
bugs.rst | ||
conf.py | ||
constraints.txt | ||
contents.rst | ||
copyright.rst | ||
glossary.rst | ||
license.rst | ||
make.bat | ||
Makefile | ||
README.rst | ||
requirements-oldest-sphinx.txt | ||
requirements.txt |
Python Documentation README ~~~~~~~~~~~~~~~~~~~~~~~~~~~ This directory contains the reStructuredText (reST) sources to the Python documentation. You don't need to build them yourself, `prebuilt versions are available <https://docs.python.org/dev/download.html>`_. Documentation on authoring Python documentation, including information about both style and markup, is available in the "`Documenting Python <https://devguide.python.org/documenting/>`_" chapter of the developers guide. Building the docs ================= The documentation is built with several tools which are not included in this tree but are maintained separately and are available from `PyPI <https://pypi.org/>`_. * `Sphinx <https://pypi.org/project/Sphinx/>`_ * `blurb <https://pypi.org/project/blurb/>`_ * `python-docs-theme <https://pypi.org/project/python-docs-theme/>`_ The easiest way to install these tools is to create a virtual environment and install the tools into there. Using make ---------- To get started on UNIX, you can create a virtual environment and build documentation with the commands:: make venv make html The virtual environment in the ``venv`` directory will contain all the tools necessary to build the documentation downloaded and installed from PyPI. If you'd like to create the virtual environment in a different location, you can specify it using the ``VENVDIR`` variable. You can also skip creating the virtual environment altogether, in which case the Makefile will look for instances of ``sphinx-build`` and ``blurb`` installed on your process ``PATH`` (configurable with the ``SPHINXBUILD`` and ``BLURB`` variables). On Windows, we try to emulate the Makefile as closely as possible with a ``make.bat`` file. If you need to specify the Python interpreter to use, set the PYTHON environment variable. Available make targets are: * "clean", which removes all build files and the virtual environment. * "clean-venv", which removes the virtual environment directory. * "venv", which creates a virtual environment with all necessary tools installed. * "html", which builds standalone HTML files for offline viewing. * "htmlview", which re-uses the "html" builder, but then opens the main page in your default web browser. * "htmlhelp", which builds HTML files and a HTML Help project file usable to convert them into a single Compiled HTML (.chm) file -- these are popular under Microsoft Windows, but very handy on every platform. To create the CHM file, you need to run the Microsoft HTML Help Workshop over the generated project (.hhp) file. The make.bat script does this for you on Windows. * "latex", which builds LaTeX source files as input to "pdflatex" to produce PDF documents. * "text", which builds a plain text file for each source file. * "epub", which builds an EPUB document, suitable to be viewed on e-book readers. * "linkcheck", which checks all external references to see whether they are broken, redirected or malformed, and outputs this information to stdout as well as a plain-text (.txt) file. * "changes", which builds an overview over all versionadded/versionchanged/ deprecated items in the current version. This is meant as a help for the writer of the "What's New" document. * "coverage", which builds a coverage overview for standard library modules and C API. * "pydoc-topics", which builds a Python module containing a dictionary with plain text documentation for the labels defined in ``tools/pyspecific.py`` -- pydoc needs these to show topic and keyword help. * "check", which checks for frequent markup errors. * "serve", which serves the build/html directory on port 8000. * "dist", (Unix only) which creates distributable archives of HTML, text, PDF, and EPUB builds. Without make ------------ First, install the tool dependencies from PyPI. Then, from the ``Doc`` directory, run :: sphinx-build -b<builder> . build/<builder> where ``<builder>`` is one of html, text, latex, or htmlhelp (for explanations see the make targets above). Deprecation header ================== You can define the ``outdated`` variable in ``html_context`` to show a red banner on each page redirecting to the "latest" version. The link points to the same page on ``/3/``, sadly for the moment the language is lost during the process. Contributing ============ Bugs in the content should be reported to the `Python bug tracker <https://github.com/python/cpython/issues>`_. Bugs in the toolset should be reported to the tools themselves. You can also send a mail to the Python Documentation Team at docs@python.org, and we will process your request as soon as possible. If you want to help the Documentation Team, you are always welcome. Just send a mail to docs@python.org.