From d210590d4d8d859d1cd0960c0573391a9bf5d9a5 Mon Sep 17 00:00:00 2001
From: Stefan Kerkmann <karlk90@pm.me>
Date: Sun, 1 Sep 2024 19:54:53 +0200
Subject: [Maintenance] builddefs: common_rules: overhaul debug information
 generation (#24352)

builddefs: common_rules: overhaul debug information generation

Debug information is always generated while compiling a binary, but
debugging is not the main use-case for the majority of users. Thus the
new default is to explicitly require them with `DEBUG_ENABLE=yes`. The
same is true for linker map files which are gated by the same flag.

As we target the gcc compiler and debug with the gdb debugger we can
specify the ggdb3 flag in the most verbose to get macro expansion.

Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
---
 docs/other_vscode.md | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

(limited to 'docs/other_vscode.md')

diff --git a/docs/other_vscode.md b/docs/other_vscode.md
index 31208d8f3b..ab2b23e96b 100644
--- a/docs/other_vscode.md
+++ b/docs/other_vscode.md
@@ -177,12 +177,13 @@ You'll need to perform some modifications to the file above in order to target y
 Windows builds of QMK Firmware are generally compiled using QMK MSYS, and the path to gdb's location (`C:\\QMK_MSYS\\mingw64\\bin`) needs to be specified under `armToolchainPath` for it to be detected. You may also need to change the GDB path to point at `C:\\QMK_MSYS\\mingw64\\bin\\gdb-multiarch.exe` in the VSCode Cortex-Debug user settings: ![VSCode Settings](https://i.imgur.com/EGrPM1L.png)
 :::
 
-Optionally, the following modifications should also be made to the keyboard's `rules.mk` file to disable optimisations -- not strictly required but will ensure breakpoints and variable viewing works correctly:
+The following modifications must be made to the keyboard's `rules.mk` file to enable debug information and disable optimisations -- this will ensure breakpoints and variable viewing works correctly:
 ```makefile
+# Enable debug information in the final binaries
+DEBUG_ENABLE = yes
 # Disable optimisations for debugging purposes
 LTO_ENABLE = no
 OPT = g
-DEBUG = 3
 ```
 
 At this point, you should build and flash your firmware through normal methods (`qmk compile ...` and `qmk flash ...`).
-- 
cgit v1.2.3