Expanding "<stack>" gives you the most information. But the form is a
bit hard to parse, because it was kept compact. With some effort you
can parse it back into a list of function calls and script commands.
You can use "getscriptinfo()" to get the script file name from the
script ID, which is inside the function name after <SNR>:
<SNR>74_OuterFunc[7]
Here "74" is the script ID. Inside the script you may find
s:OuterFunc() or just OuterFunc() (esp. in Vim 9 script).
"[7]" indicates line 7 of the function. To see what script line that is
you can go to the line where the function is defined with ":func" or
":def" and then go that many lines down: "7j". When line continuation
is used it may be off by a few lines. And line insert/delete need to be
taken into account.
For interactive debugging the "where" command can be used. You need to
set a breakpoint or use ":debug command args". See ":help debug-mode".
--
Why is it that pizza is made round, packed in a square box,
and eaten as a triangle?
/// Bram Moolenaar -- Br...@Moolenaar.net --
http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features --
http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims --
http://ICCF-Holland.org ///