Mercurial > emacs
comparison etc/DEBUG @ 66719:c0eb744f79f7
Describe how to provide preprocessor macro information.
author | Nick Roberts <nickrob@snap.net.nz> |
---|---|
date | Sat, 05 Nov 2005 10:09:27 +0000 |
parents | 98ed2e52cea0 |
children | e8a3fb527b77 7beb78bc1f8e |
comparison
equal
deleted
inserted
replaced
66718:f1ce812719c6 | 66719:c0eb744f79f7 |
---|---|
156 we want the address of the l-value expression near the bottom of | 156 we want the address of the l-value expression near the bottom of |
157 `add_command_key' from keyboard.c: | 157 `add_command_key' from keyboard.c: |
158 | 158 |
159 XVECTOR (this_command_keys)->contents[this_command_key_count++] = key; | 159 XVECTOR (this_command_keys)->contents[this_command_key_count++] = key; |
160 | 160 |
161 XVECTOR is a macro, and therefore, in general, GDB does not know about it. | 161 XVECTOR is a macro, so GDB only knows about it if Emacs has been compiled with |
162 Unless Emacs has been compiled with preprocessor macro info, GDB cannot | 162 preprocessor macro information. GCC provides this if you specify the options |
163 evaluate "p XVECTOR (this_command_keys)" . | 163 `-gdwarf-2' and `-g3'. In this case, GDB can evaluate expressions like |
164 | 164 "p XVECTOR (this_command_keys)". |
165 However, you can use the xvector command in GDB to get the same | 165 |
166 result. Here is how: | 166 When this information isn't available, you can use the xvector command in GDB |
167 to get the same result. Here is how: | |
167 | 168 |
168 (gdb) p this_command_keys | 169 (gdb) p this_command_keys |
169 $1 = 1078005760 | 170 $1 = 1078005760 |
170 (gdb) xvector | 171 (gdb) xvector |
171 $2 = (struct Lisp_Vector *) 0x411000 | 172 $2 = (struct Lisp_Vector *) 0x411000 |