From be97a7e4701b3731b0deb30df5405ae0b188f459 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Bernon?= Date: Tue, 19 Mar 2024 16:22:55 +0100 Subject: [PATCH] docs: Add a paragraph about the new GDB integration. --- docs/DEBUGGING.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/docs/DEBUGGING.md b/docs/DEBUGGING.md index b7eaf13f..6223db4d 100644 --- a/docs/DEBUGGING.md +++ b/docs/DEBUGGING.md @@ -30,7 +30,21 @@ Attaching to process 2263566 0x000075dce0cd788d in ?? () ``` -You can use `source` [wine's +With Proton Experimental, GDB should be able to load the symbols right +away. However, for the most seamless experience you will want to use a +custom version of GDB with a couple of patches to better integrate with +Wine. + +You can find this fork at https://gitlab.winehq.org/rbernon/binutils-gdb, +which you can build with `configure && make all-gdb && make install-gdb`. +Make sure to have python development packages installed, as GDB python +support will be required. + +With this custom GDB you can `source` [Wine's custom unwinder](https://github.com/ValveSoftware/wine/blob/experimental_9.0/tools/gdbunwind.py) +in your `~/.gdbinit`, and you will get backtraces across PE / unix boundaries. + + +With older Proton you can use `source` [wine's gdbinit](https://github.com/ValveSoftware/wine/blob/proton_8.0/tools/gdbinit.py) to make `load-symbol-files` command available that uses `/proc/$pid/maps` to load the symbols: