view src/testdir/test108.in @ 10221:fb1fde4fcff7 v8.0.0010

commit https://github.com/vim/vim/commit/680e015bfe19be6772d3bd754486fbd45c1a9d3b Author: Bram Moolenaar <Bram@vim.org> Date: Sun Sep 25 20:54:11 2016 +0200 patch 8.0.0010 Problem: Crash when editing file that starts with crypt yeader. (igor2x) Solution: Check for length of text. (Christian Brabandt) Add a test.
author Christian Brabandt <cb@256bit.org>
date Sun, 25 Sep 2016 21:00:04 +0200
parents 503534e56ce1
children
line wrap: on
line source

Tests for backtrace debug commands.     vim: set ft=vim :

STARTTEST
:so small.vim
:lang mess C
:function! Foo()
:   let var1 = 1
:   let var2 = Bar(var1) + 9
:   return var2
:endfunction
:
:function! Bar(var)
:    let var1 = 2 + a:var
:    let var2 = Bazz(var1) + 4
:    return var2
:endfunction
:
:function! Bazz(var)
:    let var1 = 3 + a:var
:    let var3 = "another var"
:    return var1
:endfunction
:new
:debuggreedy
:redir => out
:debug echo Foo()
step
step
step
step
step
step
echo "- show backtrace:\n"
backtrace
echo "\nshow variables on different levels:\n"
echo var1
up
back
echo var1
u
bt
echo var1
echo "\n- undefined vars:\n"
step
frame 2
echo "undefined var3 on former level:"
echo var3
fr 0
echo "here var3 is defined with \"another var\":"
echo var3
step
step
step
up
echo "\nundefined var2 on former level"
echo var2
down
echo "here var2 is defined with 10:"
echo var2
echo "\n- backtrace movements:\n"
b
echo "\nnext command cannot go down, we are on bottom\n"
down
up
echo "\nnext command cannot go up, we are on top\n"
up
b
echo "fil is not frame or finish, it is file"
fil
echo "\n- relative backtrace movement\n"
fr -1
frame
fra +1
fram
echo "\n- go beyond limits does not crash\n"
fr 100
fra
frame -40
fram
echo "\n- final result 19:"
cont
:0debuggreedy
:redir END
:$put =out
:w! test.out
:qa!
ENDTEST