#include "nvim/ascii.h"
#include "nvim/charset.h"
#include "nvim/debugger.h"
#include "nvim/eval.h"
#include "nvim/ex_docmd.h"
#include "nvim/ex_getln.h"
#include "nvim/fileio.h"
#include "nvim/getchar.h"
#include "nvim/globals.h"
#include "nvim/os/os.h"
#include "nvim/pos.h"
#include "nvim/regexp.h"
#include "nvim/screen.h"
#include "nvim/types.h"
#include "nvim/vim.h"
Data Structures | |
struct | debuggy |
Macros | |
#define | CMD_CONT 1 |
#define | CMD_NEXT 2 |
#define | CMD_STEP 3 |
#define | CMD_FINISH 4 |
#define | CMD_QUIT 5 |
#define | CMD_INTERRUPT 6 |
#define | CMD_BACKTRACE 7 |
#define | CMD_FRAME 8 |
#define | CMD_UP 9 |
#define | CMD_DOWN 10 |
#define | BREAKP(idx) (((struct debuggy *)dbg_breakp.ga_data)[idx]) |
#define | DEBUGGY(gap, idx) (((struct debuggy *)gap->ga_data)[idx]) |
#define | DBG_FUNC 1 |
#define | DBG_FILE 2 |
#define | DBG_EXPR 3 |
Functions | |
void | do_debug (char_u *cmd) |
void | ex_debug (exarg_T *eap) |
":debug". More... | |
void | dbg_check_breakpoint (exarg_T *eap) |
bool | dbg_check_skipped (exarg_T *eap) |
void | ex_breakadd (exarg_T *eap) |
":breakadd". Also used for ":profile". More... | |
void | ex_debuggreedy (exarg_T *eap) |
":debuggreedy". More... | |
void | ex_breakdel (exarg_T *eap) |
":breakdel" and ":profdel". More... | |
void | ex_breaklist (exarg_T *eap) |
":breaklist". More... | |
linenr_T | dbg_find_breakpoint (bool file, char_u *fname, linenr_T after) |
bool | has_profiling (bool file, char_u *fname, bool *fp) |
void | dbg_breakpoint (char_u *name, linenr_T lnum) |
Called when a breakpoint was encountered. More... | |
Vim script debugger functions
#define BREAKP | ( | idx | ) | (((struct debuggy *)dbg_breakp.ga_data)[idx]) |
#define CMD_BACKTRACE 7 |
#define CMD_CONT 1 |
#define CMD_DOWN 10 |
#define CMD_FINISH 4 |
#define CMD_FRAME 8 |
#define CMD_INTERRUPT 6 |
#define CMD_NEXT 2 |
#define CMD_QUIT 5 |
#define CMD_STEP 3 |
#define CMD_UP 9 |
#define DBG_EXPR 3 |
#define DBG_FILE 2 |
#define DBG_FUNC 1 |
Go to debug mode when a breakpoint was encountered or "ex_nesting_level" is at or below the break level. But only when the line is actually executed. Return true and set breakpoint_name for skipped commands that decide to execute something themselves. Called from do_one_cmd() before executing a command.
Go to debug mode if skipped by dbg_check_breakpoint() because eap->skip was set.
Find a breakpoint for a function or sourced file. Returns line number at which to break; zero when no matching breakpoint.
file | true for a file, false for a function |
fname | file or function name |
after | after this line number |
Debug mode. Repeatedly get Ex commands, until told to continue normal execution.