mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-04 04:02:26 +00:00
d5af79c05e
Move gdb and kgdb debugging documentation to the dedicated debugging directory (Documentation/process/debugging/). Adjust the index.rst files to follow the file movement. Adjust files that refer to these moved files to follow the file movement. Update location of kgdb.rst in MAINTAINERS file. Add a link from dev-tools/index to process/debugging/index. Note: translations are not updated. Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Cc: Sebastian Fricke <sebastian.fricke@collabora.com> Cc: Jonathan Corbet <corbet@lwn.net> Cc: workflows@vger.kernel.org Cc: Jason Wessel <jason.wessel@windriver.com> Cc: Daniel Thompson <danielt@kernel.org> Cc: Douglas Anderson <dianders@chromium.org> Cc: linux-debuggers@vger.kernel.org Cc: kgdb-bugreport@lists.sourceforge.net Cc: Doug Anderson <dianders@chromium.org> Cc: Alex Shi <alexs@kernel.org> Cc: Hu Haowen <2023002089@link.tyut.edu.cn> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: linux-serial@vger.kernel.org Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Acked-by: Daniel Thompson <danielt@kernel.org> Reviewed-by: Douglas Anderson <dianders@chromium.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20241210000041.305477-1-rdunlap@infradead.org
81 lines
2.4 KiB
ReStructuredText
81 lines
2.4 KiB
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0
|
|
|
|
============================================
|
|
Debugging advice for Linux Kernel developers
|
|
============================================
|
|
|
|
general guides
|
|
--------------
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
|
|
driver_development_debugging_guide
|
|
gdb-kernel-debugging
|
|
kgdb
|
|
userspace_debugging_guide
|
|
|
|
.. only:: subproject and html
|
|
|
|
subsystem specific guides
|
|
-------------------------
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
|
|
media_specific_debugging_guide
|
|
|
|
.. only:: subproject and html
|
|
|
|
Indices
|
|
=======
|
|
|
|
* :ref:`genindex`
|
|
|
|
General debugging advice
|
|
========================
|
|
|
|
Depending on the issue, a different set of tools is available to track down the
|
|
problem or even to realize whether there is one in the first place.
|
|
|
|
As a first step you have to figure out what kind of issue you want to debug.
|
|
Depending on the answer, your methodology and choice of tools may vary.
|
|
|
|
Do I need to debug with limited access?
|
|
---------------------------------------
|
|
|
|
Do you have limited access to the machine or are you unable to stop the running
|
|
execution?
|
|
|
|
In this case your debugging capability depends on built-in debugging support of
|
|
provided distribution kernel.
|
|
The :doc:`/process/debugging/userspace_debugging_guide` provides a brief
|
|
overview over a range of possible debugging tools in that situation. You can
|
|
check the capability of your kernel, in most cases, by looking into config file
|
|
within the /boot directory.
|
|
|
|
Do I have root access to the system?
|
|
------------------------------------
|
|
|
|
Are you easily able to replace the module in question or to install a new
|
|
kernel?
|
|
|
|
In that case your range of available tools is a lot bigger, you can find the
|
|
tools in the :doc:`/process/debugging/driver_development_debugging_guide`.
|
|
|
|
Is timing a factor?
|
|
-------------------
|
|
|
|
It is important to understand if the problem you want to debug manifests itself
|
|
consistently (i.e. given a set of inputs you always get the same, incorrect
|
|
output), or inconsistently. If it manifests itself inconsistently, some timing
|
|
factor might be at play. If inserting delays into the code does change the
|
|
behavior, then quite likely timing is a factor.
|
|
|
|
When timing does alter the outcome of the code execution using a simple
|
|
printk() for debugging purposes may not work, a similar alternative is to use
|
|
trace_printk() , which logs the debug messages to the trace file instead of the
|
|
kernel log.
|
|
|
|
**Copyright** ©2024 : Collabora
|