[ Avaa Bypassed ]




Upload:

Command:

www-data@3.144.254.237: ~ $
*debug.txt*     For Vim version 8.1.  Last change: 2019 May 07


		  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.

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

For other compilers, you should always use the corresponding debugger: 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:noet:ft=help:norl:

Filemanager

Name Type Size Permission Actions
README.Debian File 324 B 0644
arabic.txt File 11.62 KB 0644
autocmd.txt File 68.18 KB 0644
change.txt File 74.89 KB 0644
channel.txt File 47.41 KB 0644
cmdline.txt File 46.88 KB 0644
debug.txt File 6.73 KB 0644
debugger.txt File 5.74 KB 0644
develop.txt File 22.16 KB 0644
diff.txt File 16.43 KB 0644
digraph.txt File 60.43 KB 0644
editing.txt File 71.36 KB 0644
eval.txt File 480.89 KB 0644
farsi.txt File 523 B 0644
filetype.txt File 26.61 KB 0644
fold.txt File 23.13 KB 0644
ft_ada.txt File 17.82 KB 0644
ft_rust.txt File 9.37 KB 0644
ft_sql.txt File 29.98 KB 0644
gui.txt File 50.91 KB 0644
gui_w32.txt File 18.91 KB 0644
gui_x11.txt File 29.08 KB 0644
hangulin.txt File 3.22 KB 0644
hebrew.txt File 5.53 KB 0644
help.txt File 8.69 KB 0644
help.txt.vim-tiny File 1.4 KB 0644
helphelp.txt File 14.09 KB 0644
howto.txt File 2.85 KB 0644
if_cscop.txt File 18.87 KB 0644
if_lua.txt File 15.23 KB 0644
if_mzsch.txt File 11.68 KB 0644
if_ole.txt File 7.19 KB 0644
if_perl.txt File 11.01 KB 0644
if_pyth.txt File 37.44 KB 0644
if_ruby.txt File 8.33 KB 0644
if_sniff.txt File 271 B 0644
if_tcl.txt File 22.43 KB 0644
indent.txt File 40.72 KB 0644
index.txt File 77.7 KB 0644
insert.txt File 82.33 KB 0644
intro.txt File 37.94 KB 0644
map.txt File 64.79 KB 0644
mbyte.txt File 58.25 KB 0644
message.txt File 30.5 KB 0644
mlang.txt File 7.68 KB 0644
motion.txt File 49.89 KB 0644
netbeans.txt File 36.69 KB 0644
options.txt File 378.37 KB 0644
os_390.txt File 4.64 KB 0644
os_amiga.txt File 5.34 KB 0644
os_beos.txt File 10.73 KB 0644
os_dos.txt File 11.74 KB 0644
os_mac.txt File 6.7 KB 0644
os_mint.txt File 1.37 KB 0644
os_msdos.txt File 523 B 0644
os_os2.txt File 299 B 0644
os_qnx.txt File 3.98 KB 0644
os_risc.txt File 328 B 0644
os_unix.txt File 2.54 KB 0644
os_vms.txt File 31.79 KB 0644
os_win32.txt File 13.04 KB 0644
pattern.txt File 58.29 KB 0644
pi_getscript.txt File 20.59 KB 0644
pi_gzip.txt File 1.26 KB 0644
pi_logipat.txt File 4.09 KB 0644
pi_netrw.txt File 172.43 KB 0644
pi_paren.txt File 2.22 KB 0644
pi_spec.txt File 4.03 KB 0644
pi_tar.txt File 6.51 KB 0644
pi_vimball.txt File 11.58 KB 0644
pi_zip.txt File 6.88 KB 0644
popup.txt File 35.68 KB 0644
print.txt File 30.48 KB 0644
quickfix.txt File 77.23 KB 0644
quickref.txt File 70.29 KB 0644
quotes.txt File 12.45 KB 0644
recover.txt File 10.45 KB 0644
remote.txt File 8.22 KB 0644
repeat.txt File 40.06 KB 0644
rileft.txt File 4.82 KB 0644
russian.txt File 2.95 KB 0644
scroll.txt File 13.46 KB 0644
sign.txt File 24.34 KB 0644
spell.txt File 62.38 KB 0644
sponsor.txt File 7.03 KB 0644
starting.txt File 71.58 KB 0644
syntax.txt File 216.25 KB 0644
tabpage.txt File 16.5 KB 0644
tags File 337.32 KB 0644
tags.vim-tiny File 30 B 0644
tagsrch.txt File 38.22 KB 0644
term.txt File 45.81 KB 0644
terminal.txt File 52.45 KB 0644
testing.txt File 12.63 KB 0644
textprop.txt File 13.54 KB 0644
tips.txt File 19.8 KB 0644
todo.txt File 301.55 KB 0644
uganda.txt File 13.7 KB 0644
undo.txt File 16.2 KB 0644
usr_01.txt File 6.93 KB 0644
usr_02.txt File 23.77 KB 0644
usr_03.txt File 23.06 KB 0644
usr_04.txt File 18.64 KB 0644
usr_05.txt File 26.42 KB 0644
usr_06.txt File 9.39 KB 0644
usr_07.txt File 15.61 KB 0644
usr_08.txt File 18.92 KB 0644
usr_09.txt File 11.23 KB 0644
usr_10.txt File 28.5 KB 0644
usr_11.txt File 12.62 KB 0644
usr_12.txt File 13.11 KB 0644
usr_20.txt File 13.39 KB 0644
usr_21.txt File 18.02 KB 0644
usr_22.txt File 14.65 KB 0644
usr_23.txt File 12.41 KB 0644
usr_24.txt File 20.38 KB 0644
usr_25.txt File 18.73 KB 0644
usr_26.txt File 8.07 KB 0644
usr_27.txt File 17.31 KB 0644
usr_28.txt File 15.64 KB 0644
usr_29.txt File 19.65 KB 0644
usr_30.txt File 22.13 KB 0644
usr_31.txt File 10.16 KB 0644
usr_32.txt File 5.25 KB 0644
usr_40.txt File 22.65 KB 0644
usr_41.txt File 91.23 KB 0644
usr_42.txt File 13.53 KB 0644
usr_43.txt File 7.24 KB 0644
usr_44.txt File 28.53 KB 0644
usr_45.txt File 17.24 KB 0644
usr_90.txt File 17.17 KB 0644
usr_toc.txt File 9.05 KB 0644
various.txt File 29.62 KB 0644
version4.txt File 13.58 KB 0644
version5.txt File 301.31 KB 0644
version6.txt File 563.53 KB 0644
version7.txt File 658.96 KB 0644
version8.txt File 1.26 MB 0644
vi_diff.txt File 56.27 KB 0644
vim2html.pl File 4.41 KB 0755
visual.txt File 21.26 KB 0644
windows.txt File 53.64 KB 0644
workshop.txt File 371 B 0644