[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 08/14] docs/system: clarify limits of using gdbstub in sys
From: |
Peter Maydell |
Subject: |
Re: [PATCH v2 08/14] docs/system: clarify limits of using gdbstub in system emulation |
Date: |
Mon, 20 Nov 2023 17:26:10 +0000 |
On Mon, 20 Nov 2023 at 15:08, Alex Bennée <alex.bennee@linaro.org> wrote:
>
> It seems some users will try and use the gdbstub to debug userspace
> inside a system emulation. While possible clarify the limitations of
> this approach and direct the users to a less head scratching way of
> debugging user-space.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> Clarifies: https://gitlab.com/qemu-project/qemu/-/issues/1274
> ---
> docs/system/gdb.rst | 13 ++++++++++++-
> 1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/docs/system/gdb.rst b/docs/system/gdb.rst
> index 9906991b84..c0cc0c9c7e 100644
> --- a/docs/system/gdb.rst
> +++ b/docs/system/gdb.rst
> @@ -60,7 +60,7 @@ As TCG cannot track all memory accesses in user-mode there
> is no
> support for watchpoints.
>
> Relocating code
> ----------------
> +===============
>
> On modern kernels confusion can be caused by code being relocated by
> features such as address space layout randomisation. To avoid
> @@ -68,6 +68,17 @@ confusion when debugging such things you either need to
> update gdb's
> view of where things are in memory or perhaps more trivially disable
> ASLR when booting the system.
>
> +Debugging user-space in system emulation
> +========================================
> +
> +While technically possible to debug a user-space program running
"While it is"
> +inside a system image it does present challenges. Kernel preemption
"image, "
> +and execution mode changes between kernel and user mode can make it
> +hard to follow whats going on. Unless you are specifically trying to
"what's"
> +debug some interaction between kernel and user-space you are better
> +off running your guest program with gdb either in the guest or using
> +a gdbserver exposed via a port to the outside world.
> +
> Debugging multicore machines
> ============================
thanks
-- PMM
- [PATCH v2 00/14] random fixes for 8.2 pre-PR (tests, plugins, docs, semihosting), Alex Bennée, 2023/11/20
- [PATCH v2 02/14] .gitlab-ci.d/cirrus: Upgrade macOS to 13 (Ventura), Alex Bennée, 2023/11/20
- [PATCH v2 04/14] plugins: fix win plugin tests on cross compile, Alex Bennée, 2023/11/20
- [PATCH v2 08/14] docs/system: clarify limits of using gdbstub in system emulation, Alex Bennée, 2023/11/20
- [PATCH v2 07/14] docs/emulation: expand warning about semihosting, Alex Bennée, 2023/11/20
- [PATCH v2 13/14] configure: don't try a "native" cross for linux-user, Alex Bennée, 2023/11/20
- [PATCH v2 03/14] tests/docker: merge debian-native with debian-amd64, Alex Bennée, 2023/11/20
- [PATCH v2 01/14] tests/docker: replace fedora-i386 with debian-i686, Alex Bennée, 2023/11/20
- [PATCH v2 14/14] tests/tcg: finesse the registers check for "hidden" regs, Alex Bennée, 2023/11/20
- [PATCH v2 11/14] tests/tcg: enable arm softmmu tests, Alex Bennée, 2023/11/20
- [PATCH v2 05/14] target/nios2: Deprecate the Nios II architecture, Alex Bennée, 2023/11/20
- [PATCH v2 09/14] hw/core: skip loading debug on all failures, Alex Bennée, 2023/11/20
- [PATCH v2 06/14] tests/tcg: fixup Aarch64 semiconsole test, Alex Bennée, 2023/11/20