From eaf40f04614063010e60d14c9ba8ba48e4b842bc Mon Sep 17 00:00:00 2001 From: Sean Whitton Date: Thu, 6 Jan 2022 11:17:44 -0700 Subject: [PATCH] etc/DEBUG: Say more about --enable-check-lisp-object-type * etc/DEBUG: Explain how --enable-check-lisp-object-type can obstruct certain debugging strategies. Don't claim that this switch has no effect on debugging with GDB. --- etc/DEBUG | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/etc/DEBUG b/etc/DEBUG index dd33b42f19..6d0e27cbce 100644 --- a/etc/DEBUG +++ b/etc/DEBUG @@ -28,12 +28,21 @@ exceptionally hard. Older versions of GCC may need more than just the -g3 flag. For more, search for "analyze failed assertions" below. -The 2 --enable-* switches are optional. They don't have any effect on -debugging with GDB, but will compile additional code that might catch -the problem you are debugging much earlier, in the form of assertion -violation. The --enable-checking option also enables additional -functionality useful for debugging display problems; see more about -this below under "Debugging Emacs redisplay problems". +The 2 --enable-* switches are optional. They compile additional code +that might catch the problem you are debugging much earlier, in the +form of assertion violation. The --enable-checking option also +enables additional functionality useful for debugging display +problems; see more about this below under "Debugging Emacs redisplay +problems". + +You should be aware that the --enable-check-lisp-object-type option +changes Lisp objects from scalar values into structs, and this can +obstruct certain debugging strategies. In particular, asking GDB to +compare Lisp objects might not work. For example, consider this +attempt to conditionalize a break point: "condition 2 NILP (foo)". In +this case you are requesting that GDB make the comparison "foo == +Qnil", and you might need to recompile without +--enable-check-lisp-object-type for that to work. Emacs needs not be installed to be debugged, you can debug the binary created in the 'src' directory. -- 2.30.2