*debug.txt*     For Vim version 7.0e.  Last change: 2005 Dec 17


		  VIM REFERENCE MANUAL    by Bram Moolenaar


Debugging Vim						*debug-vim*

This is for debugging Vim itself, when it doesn't work properly.
For debugging Vim scripts, functions, etc. see |debug-scripts|

1. Location of a crash, using gcc and gdb	|debug-gcc|
2. Windows Bug Reporting               		|debug-win32|

==============================================================================

1. Location of a crash, using gcc and gdb		*debug-gcc*

When Vim crashes in one of the test files, and you are using gcc for
compilation, here is what you can do to find out exactly where Vim crashes.
This also applies when using the MingW tools.

1. Compile Vim with the "-g" option (there is a line in the Makefile for this,
   which you can uncomment).

2. Execute these commands (replace "11" with the test that fails): >
	cd testdir
	gdb ../vim
	run -u unix.vim -U NONE -s dotest.in test11.in

3. Check where Vim crashes, gdb should give a message for this.

4. Get a stack trace from gdb with this command: >
	where
<  You can check out different places in the stack trace with: >
	frame 3
<  Replace "3" with one of the numbers in the stack trace.

==============================================================================

2. Windows Bug Reporting                       		*debug-win32*

If the Windows version of Vim crashes in a reproducible manner,
you can take some steps to provide a useful bug report.

First, you must obtain the debugger symbols (PDB) file for your executable:
gvim.pdb for gvim.exe, or vim.pdb for vim.exe. It should be available
from the same place that you obtained the executable. Be sure to use
the PDB that matches the EXE.

If you built the executable yourself with the Microsoft Visual C++ compiler,
then the PDB was built with the EXE.

You can download the Microsoft Visual C++ Toolkit from
    http://msdn.microsoft.com/visualc/vctoolkit2003/
This contains the command-line tools, but not the Visual Studio IDE.

The Debugging Tools for Windows can be downloaded from
    http://www.microsoft.com/whdc/devtools/debugging/default.mspx
This includes the WinDbg debugger.

If you have Visual Studio, use that instead of the VC Toolkit
and WinDbg.

For other compilers, you should always use the corresponding debugger: TD for
a Vim executable compiled with the Borland compiler; gdb (see above
|debug-gcc|) for the Cygwin and MinGW compilers.

=========================================================================
 vim:tw=78:ts=8:ft=help:norl:
