📄 mal_debugger.h
字号:
#ifndef _MAL_DEBUGGER_H#define _MAL_DEBUGGER_H#include "mal_scenario.h"#include "mal_client.h"#define MAL_DEBUGGER /* debugger is active */#define MAXBREAKS 32mal_export int MDBdelay; /* do not immediately react */typedef struct { MalBlkPtr brkBlock[MAXBREAKS]; int brkPc[MAXBREAKS]; int brkVar[MAXBREAKS]; str brkMod[MAXBREAKS]; str brkFcn[MAXBREAKS]; char brkCmd[MAXBREAKS]; str brkRequest[MAXBREAKS]; int brkTop;} mdbStateRecord, *mdbState;mal_export void mdbSetBreakpoint(Client cntxt, MalBlkPtr mb, int pc, char cmd);mal_export void mdbClrBreakRequest(Client cntxt, str name);mal_export void mdbShowBreakpoints(Client cntxt);mal_export void mdbCommand(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p, int pc);mal_export int mdbSession(void);mal_export void mdbStep(Client cntxt, MalBlkPtr mb, MalStkPtr stk, int pc);mal_export void mdbHelp(stream *f);mal_export void printStackElm(stream *f, MalBlkPtr mb, VarPtr n, ValPtr v, int index, size_t cnt, int first, int lifespan);mal_export void printBATelm(stream *f, int i, size_t cnt, size_t first);mal_export void printStack(stream *f, MalBlkPtr mb, MalStkPtr s, int lifespan);mal_export void printBatInfo(stream *f, VarPtr n, ValPtr v);mal_export void printBatProperties(stream *f, VarPtr n, ValPtr v, str props);mal_export void printTraceCall(Client cntxt, MalBlkPtr mb, MalStkPtr stk, int pc);mal_export str call2str(Client cntxt, MalBlkPtr mb, MalStkPtr stk, int pc);mal_export str runMALDebugger(Symbol s);mal_export void printBBPinfo(stream *out);mal_export void resetOptimizerDebugger(void);mal_export void optimizerDebug(MalBlkPtr mb, str name, int actions, lng usec);mal_export str optimizeMALBlock(MalBlkPtr mb);mal_export str debugOptimizers(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);#endif /* _MAL_DEBUGGER_h */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -