diff options
Diffstat (limited to 'etc/DEBUG')
| -rw-r--r-- | etc/DEBUG | 29 |
1 files changed, 10 insertions, 19 deletions
| @@ -5,9 +5,8 @@ Copyright (C) 1985, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, | |||
| 5 | See the end of the file for license conditions. | 5 | See the end of the file for license conditions. |
| 6 | 6 | ||
| 7 | 7 | ||
| 8 | [People who debug Emacs on Windows using Microsoft debuggers | 8 | [People who debug Emacs on Windows using Microsoft debuggers should |
| 9 | should read the Windows-specific section near the end of this | 9 | read the Windows-specific section near the end of this document.] |
| 10 | document.] | ||
| 11 | 10 | ||
| 12 | ** When you debug Emacs with GDB, you should start it in the directory | 11 | ** When you debug Emacs with GDB, you should start it in the directory |
| 13 | where the executable was made. That directory has a .gdbinit file | 12 | where the executable was made. That directory has a .gdbinit file |
| @@ -50,8 +49,7 @@ On modern POSIX systems, you can override that with this command: | |||
| 50 | handle SIGINT stop nopass | 49 | handle SIGINT stop nopass |
| 51 | 50 | ||
| 52 | After this `handle' command, SIGINT will return control to GDB. If | 51 | After this `handle' command, SIGINT will return control to GDB. If |
| 53 | you want the C-g to cause a QUIT within Emacs as well, omit the | 52 | you want the C-g to cause a QUIT within Emacs as well, omit the `nopass'. |
| 54 | `nopass'. | ||
| 55 | 53 | ||
| 56 | A technique that can work when `handle SIGINT' does not is to store | 54 | A technique that can work when `handle SIGINT' does not is to store |
| 57 | the code for some character into the variable stop_character. Thus, | 55 | the code for some character into the variable stop_character. Thus, |
| @@ -443,10 +441,9 @@ It is necessary to refer to the file `nmout' to convert | |||
| 443 | numeric addresses into symbols and vice versa. | 441 | numeric addresses into symbols and vice versa. |
| 444 | 442 | ||
| 445 | It is useful to be running under a window system. | 443 | It is useful to be running under a window system. |
| 446 | Then, if Emacs becomes hopelessly wedged, you can create | 444 | Then, if Emacs becomes hopelessly wedged, you can create another |
| 447 | another window to do kill -9 in. kill -ILL is often | 445 | window to do kill -9 in. kill -ILL is often useful too, since that |
| 448 | useful too, since that may make Emacs dump core or return | 446 | may make Emacs dump core or return to adb. |
| 449 | to adb. | ||
| 450 | 447 | ||
| 451 | 448 | ||
| 452 | ** Debugging incorrect screen updating. | 449 | ** Debugging incorrect screen updating. |
| @@ -483,16 +480,14 @@ suitable for Unix and GNU systems, to build such a debugging version: | |||
| 483 | Building Emacs like that activates many assertions which scrutinize | 480 | Building Emacs like that activates many assertions which scrutinize |
| 484 | display code operation more than Emacs does normally. (To see the | 481 | display code operation more than Emacs does normally. (To see the |
| 485 | code which tests these assertions, look for calls to the `xassert' | 482 | code which tests these assertions, look for calls to the `xassert' |
| 486 | macros.) Any assertion that is reported to fail should be | 483 | macros.) Any assertion that is reported to fail should be investigated. |
| 487 | investigated. | ||
| 488 | 484 | ||
| 489 | Building with GLYPH_DEBUG defined also defines several helper | 485 | Building with GLYPH_DEBUG defined also defines several helper |
| 490 | functions which can help debugging display code. One such function is | 486 | functions which can help debugging display code. One such function is |
| 491 | `dump_glyph_matrix'. If you run Emacs under GDB, you can print the | 487 | `dump_glyph_matrix'. If you run Emacs under GDB, you can print the |
| 492 | contents of any glyph matrix by just calling that function with the | 488 | contents of any glyph matrix by just calling that function with the |
| 493 | matrix as its argument. For example, the following command will print | 489 | matrix as its argument. For example, the following command will print |
| 494 | the contents of the current matrix of the window whose pointer is in | 490 | the contents of the current matrix of the window whose pointer is in `w': |
| 495 | `w': | ||
| 496 | 491 | ||
| 497 | (gdb) p dump_glyph_matrix (w->current_matrix, 2) | 492 | (gdb) p dump_glyph_matrix (w->current_matrix, 2) |
| 498 | 493 | ||
| @@ -621,13 +616,9 @@ Emacs compiled with such packages might not run without some hacking, | |||
| 621 | because Emacs replaces the system's memory allocation functions with | 616 | because Emacs replaces the system's memory allocation functions with |
| 622 | its own versions, and because the dumping process might be | 617 | its own versions, and because the dumping process might be |
| 623 | incompatible with the way these packages use to track allocated | 618 | incompatible with the way these packages use to track allocated |
| 624 | memory. Here are some of the changes you might find necessary | 619 | memory. Here are some of the changes you might find necessary: |
| 625 | (SYSTEM-NAME and MACHINE-NAME are the names of your OS- and | ||
| 626 | CPU-specific headers in the subdirectories of `src'): | ||
| 627 | 620 | ||
| 628 | - In src/s/SYSTEM-NAME.h add "#define SYSTEM_MALLOC". | 621 | - Edit configure, to set system_malloc and CANNOT_DUMP to "yes". |
| 629 | |||
| 630 | - In src/m/MACHINE-NAME.h add "#define CANNOT_DUMP" | ||
| 631 | 622 | ||
| 632 | - Configure with a different --prefix= option. If you use GCC, | 623 | - Configure with a different --prefix= option. If you use GCC, |
| 633 | version 2.7.2 is preferred, as some malloc debugging packages | 624 | version 2.7.2 is preferred, as some malloc debugging packages |