/
usr
/
share
/
vim
/
vim80
/
doc
/
/usr/share/vim/vim80/doc
mkdir
upload
Name
Size
Mode
Actions
arabic.txt
11936
0644
edit
dl
rm
autocmd.txt
65402
0644
edit
dl
rm
change.txt
74877
0644
edit
dl
rm
channel.txt
30819
0644
edit
dl
rm
cmdline.txt
47283
0644
edit
dl
rm
debug.txt
7182
0644
edit
dl
rm
debugger.txt
5744
0644
edit
dl
rm
develop.txt
22344
0644
edit
dl
rm
diff.txt
16525
0644
edit
dl
rm
digraph.txt
62123
0644
edit
dl
rm
editing.txt
73176
0644
edit
dl
rm
eval.txt
444462
0644
edit
dl
rm
farsi.txt
9703
0644
edit
dl
rm
filetype.txt
26647
0644
edit
dl
rm
fold.txt
23694
0644
edit
dl
rm
ft_ada.txt
18247
0644
edit
dl
rm
ft_rust.txt
9526
0644
edit
dl
rm
ft_sql.txt
30694
0644
edit
dl
rm
gui.txt
45592
0644
edit
dl
rm
gui_w32.txt
18916
0644
edit
dl
rm
gui_x11.txt
29480
0644
edit
dl
rm
hangulin.txt
3291
0644
edit
dl
rm
hebrew.txt
5714
0644
edit
dl
rm
help.txt
8578
0644
edit
dl
rm
helphelp.txt
14338
0644
edit
dl
rm
howto.txt
2911
0644
edit
dl
rm
if_cscop.txt
19361
0644
edit
dl
rm
if_lua.txt
14642
0644
edit
dl
rm
if_mzsch.txt
11823
0644
edit
dl
rm
if_ole.txt
7405
0644
edit
dl
rm
if_perl.txt
11149
0644
edit
dl
rm
if_pyth.txt
37944
0644
edit
dl
rm
if_ruby.txt
8014
0644
edit
dl
rm
if_sniff.txt
266
0644
edit
dl
rm
if_tcl.txt
23026
0644
edit
dl
rm
indent.txt
39427
0644
edit
dl
rm
index.txt
76443
0644
edit
dl
rm
insert.txt
83156
0644
edit
dl
rm
intro.txt
39226
0644
edit
dl
rm
map.txt
64668
0644
edit
dl
rm
mbyte.txt
59306
0644
edit
dl
rm
message.txt
31230
0644
edit
dl
rm
mlang.txt
7850
0644
edit
dl
rm
motion.txt
51602
0644
edit
dl
rm
netbeans.txt
36998
0644
edit
dl
rm
options.txt
389116
0644
edit
dl
rm
os_390.txt
4753
0644
edit
dl
rm
os_amiga.txt
5461
0644
edit
dl
rm
os_beos.txt
10983
0644
edit
dl
rm
os_dos.txt
12021
0644
edit
dl
rm
os_mac.txt
6851
0644
edit
dl
rm
os_mint.txt
1402
0644
edit
dl
rm
os_msdos.txt
518
0644
edit
dl
rm
os_os2.txt
294
0644
edit
dl
rm
os_qnx.txt
4071
0644
edit
dl
rm
os_risc.txt
323
0644
edit
dl
rm
os_unix.txt
2595
0644
edit
dl
rm
os_vms.txt
32100
0644
edit
dl
rm
os_win32.txt
13348
0644
edit
dl
rm
pattern.txt
59321
0644
edit
dl
rm
pi_getscript.txt
21078
0644
edit
dl
rm
pi_gzip.txt
1321
0644
edit
dl
rm
pi_logipat.txt
4186
0644
edit
dl
rm
pi_netrw.txt
175550
0644
edit
dl
rm
pi_paren.txt
2269
0644
edit
dl
rm
pi_spec.txt
4122
0644
edit
dl
rm
pi_tar.txt
6223
0644
edit
dl
rm
pi_vimball.txt
11853
0644
edit
dl
rm
pi_zip.txt
7229
0644
edit
dl
rm
print.txt
31158
0644
edit
dl
rm
quickfix.txt
69021
0644
edit
dl
rm
quickref.txt
71256
0644
edit
dl
rm
quotes.txt
12743
0644
edit
dl
rm
recover.txt
10694
0644
edit
dl
rm
remote.txt
8420
0644
edit
dl
rm
repeat.txt
39573
0644
edit
dl
rm
rileft.txt
4976
0644
edit
dl
rm
russian.txt
3090
0644
edit
dl
rm
scroll.txt
14071
0644
edit
dl
rm
sign.txt
6891
0644
edit
dl
rm
spell.txt
62781
0644
edit
dl
rm
sponsor.txt
7198
0644
edit
dl
rm
starting.txt
73622
0644
edit
dl
rm
syntax.txt
217471
0644
edit
dl
rm
tabpage.txt
16720
0644
edit
dl
rm
tags
328832
0644
edit
dl
rm
tagsrch.txt
36636
0644
edit
dl
rm
term.txt
45416
0644
edit
dl
rm
terminal.txt
33567
0644
edit
dl
rm
tips.txt
20556
0644
edit
dl
rm
todo.txt
296268
0644
edit
dl
rm
uganda.txt
14024
0644
edit
dl
rm
undo.txt
16539
0644
edit
dl
rm
usr_01.txt
7090
0644
edit
dl
rm
usr_02.txt
24339
0644
edit
dl
rm
usr_03.txt
23605
0644
edit
dl
rm
usr_04.txt
19082
0644
edit
dl
rm
usr_05.txt
23824
0644
edit
dl
rm
usr_06.txt
9587
0644
edit
dl
rm
usr_07.txt
15984
0644
edit
dl
rm
usr_08.txt
19374
0644
edit
dl
rm
usr_09.txt
11450
0644
edit
dl
rm
usr_10.txt
29180
0644
edit
dl
rm
usr_11.txt
12611
0644
edit
dl
rm
usr_12.txt
13424
0644
edit
dl
rm
usr_20.txt
13703
0644
edit
dl
rm
usr_21.txt
18373
0644
edit
dl
rm
usr_22.txt
14297
0644
edit
dl
rm
usr_23.txt
12588
0644
edit
dl
rm
usr_24.txt
20869
0644
edit
dl
rm
usr_25.txt
19114
0644
edit
dl
rm
usr_26.txt
8254
0644
edit
dl
rm
usr_27.txt
17723
0644
edit
dl
rm
usr_28.txt
16015
0644
edit
dl
rm
usr_29.txt
20116
0644
edit
dl
rm
usr_30.txt
22656
0644
edit
dl
rm
usr_31.txt
10394
0644
edit
dl
rm
usr_32.txt
5373
0644
edit
dl
rm
usr_40.txt
23184
0644
edit
dl
rm
usr_41.txt
89301
0644
edit
dl
rm
usr_42.txt
13798
0644
edit
dl
rm
usr_43.txt
7404
0644
edit
dl
rm
usr_44.txt
29211
0644
edit
dl
rm
usr_45.txt
17912
0644
edit
dl
rm
usr_90.txt
17661
0644
edit
dl
rm
usr_toc.txt
9218
0644
edit
dl
rm
various.txt
28852
0644
edit
dl
rm
version4.txt
13906
0644
edit
dl
rm
version5.txt
308543
0644
edit
dl
rm
version6.txt
577052
0644
edit
dl
rm
version7.txt
674766
0644
edit
dl
rm
version8.txt
684252
0644
edit
dl
rm
visual.txt
21843
0644
edit
dl
rm
vi_diff.txt
42812
0644
edit
dl
rm
windows.txt
53030
0644
edit
dl
rm
workshop.txt
4631
0644
edit
dl
rm
Edit:
/usr/share/vim/vim80/doc/debug.txt
(7182B)
*debug.txt* For Vim version 8.0. Last change: 2017 Jul 15 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. Locating memory leaks |debug-leaks| 3. Windows Bug Reporting |debug-win32| ============================================================================== 1. Location of a crash, using gcc and gdb *debug-gcc* *gdb* 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 src/Makefile for this, which you can uncomment). Also make sure "strip" is disabled (do not install it, or use the line "STRIP = /bin/true"). 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. Locating memory leaks *debug-leaks* *valgrind* If you suspect Vim is leaking memory and you are using Linux, the valgrind tool is very useful to pinpoint memory leaks. First of all, build Vim with EXITFREE defined. Search for this in MAKEFILE and uncomment the line. Use this command to start Vim: > valgrind --log-file=valgrind.log --leak-check=full ./vim Note: Vim will run much slower. If your .vimrc is big or you have several plugins you need to be patient for startup, or run with the "--clean" argument. There are often a few leaks from libraries, such as getpwuid() and XtVaAppCreateShell(). Those are unavoidable. The number of bytes should be very small a Kbyte or less. ============================================================================== 3. 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. 3.1 GENERIC ~ You must obtain the debugger symbols (PDB) file for your executable: gvim.pdb for gvim.exe, or vim.pdb for vim.exe. The PDB should be available from the same place that you obtained the executable. Be sure to use the PDB that matches the EXE (same date). If you built the executable yourself with the Microsoft Visual C++ compiler, then the PDB was built with the EXE. Alternatively, if you have the source files, you can import Make_ivc.mak into Visual Studio as a workspace. Then select a debug configuration, build and you can do all kinds of debugging (set breakpoints, watch variables, etc.). 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. *debug-vs2005* 3.2 Debugging Vim crashes with Visual Studio 2005/Visual C++ 2005 Express ~ First launch vim.exe or gvim.exe and then launch Visual Studio. (If you don't have Visual Studio, follow the instructions at |get-ms-debuggers| to obtain a free copy of Visual C++ 2005 Express Edition.) On the Tools menu, click Attach to Process. Choose the Vim process. In Vim, reproduce the crash. A dialog will appear in Visual Studio, telling you about the unhandled exception in the Vim process. Click Break to break into the process. Visual Studio will pop up another dialog, telling you that no symbols are loaded and that the source code cannot be displayed. Click OK. Several windows will open. Right-click in the Call Stack window. Choose Load Symbols. The Find Symbols dialog will open, looking for (g)vim.pdb. Navigate to the directory where you have the PDB file and click Open. At this point, you should have a full call stack with vim function names and line numbers. Double-click one of the lines and the Find Source dialog will appear. Navigate to the directory where the Vim source is (if you have it.) If you don't know how to debug this any further, follow the instructions at ":help bug-reports". Paste the call stack into the bug report. If you have a non-free version of Visual Studio, you can save a minidump via the Debug menu and send it with the bug report. A minidump is a small file (<100KB), which contains information about the state of your process. Visual C++ 2005 Express Edition cannot save minidumps and it cannot be installed as a just-in-time debugger. Use WinDbg, |debug-windbg|, if you need to save minidumps or you want a just-in-time (postmortem) debugger. *debug-windbg* 3.3 Debugging Vim crashes with WinDbg ~ See |get-ms-debuggers| to obtain a copy of WinDbg. As with the Visual Studio IDE, you can attach WinDbg to a running Vim process. You can also have your system automatically invoke WinDbg as a postmortem debugger. To set WinDbg as your postmortem debugger, run "windbg -I". To attach WinDbg to a running Vim process, launch WinDbg. On the File menu, choose Attach to a Process. Select the Vim process and click OK. At this point, choose Symbol File Path on the File menu, and add the folder containing your Vim PDB to the sympath. If you have Vim source available, use Source File Path on the File menu. You can now open source files in WinDbg and set breakpoints, if you like. Reproduce your crash. WinDbg should open the source file at the point of the crash. Using the View menu, you can examine the call stack, local variables, watch windows, and so on. If WinDbg is your postmortem debugger, you do not need to attach WinDbg to your Vim process. Simply reproduce the crash and WinDbg will launch automatically. As above, set the Symbol File Path and the Source File Path. To save a minidump, type the following at the WinDbg command line: > .dump vim.dmp < *debug-minidump* 3.4 Opening a Minidump ~ If you have a minidump file, you can open it in Visual Studio or in WinDbg. In Visual Studio 2005: on the File menu, choose Open, then Project/Solution. Navigate to the .dmp file and open it. Now press F5 to invoke the debugger. Follow the instructions in |debug-vs2005| to set the Symbol File Path. In WinDbg: choose Open Crash Dump on the File menu. Follow the instructions in |debug-windbg| to set the Symbol File Path. *get-ms-debuggers* 3.5 Obtaining Microsoft Debugging Tools ~ The Debugging Tools for Windows (including WinDbg) can be downloaded from http://www.microsoft.com/whdc/devtools/debugging/default.mspx This includes the WinDbg debugger. Visual C++ 2005 Express Edition can be downloaded for free from: http://msdn.microsoft.com/vstudio/express/visualC/default.aspx ========================================================================= vim:tw=78:ts=8:ft=help:norl:
Save
cmd:
run