| 
									
										
										
										
											2006-04-10 14:55:34 +00:00
										 |  |  | *debug.txt*     For Vim version 7.0d.  Last change: 2005 Dec 17 | 
					
						
							| 
									
										
										
										
											2005-09-01 20:46:49 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		  VIM REFERENCE MANUAL    by Bram Moolenaar | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Debugging Vim						*debug-vim* | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is for debugging Vim itself, when it doesn't work properly. | 
					
						
							| 
									
										
										
										
											2005-12-17 22:06:52 +00:00
										 |  |  | For debugging Vim scripts, functions, etc. see |debug-scripts| | 
					
						
							| 
									
										
										
										
											2005-09-01 20:46:49 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 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. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-12-17 22:06:52 +00:00
										 |  |  | 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. | 
					
						
							| 
									
										
										
										
											2005-09-01 20:46:49 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | ========================================================================= | 
					
						
							|  |  |  |  vim:tw=78:ts=8:ft=help:norl: |