2020-09-30 17:12:32 +02:00

180 lines
3.9 KiB
C

/*++ BUILD Version: 0001 // Increment this if a change has global effects
*/
#define SRCSTEPPING 0
#define ASMSTEPPING 1
void InitCodemgr(void);
void PASCAL Go(void);
void PASCAL StepAndGo(void);
int PASCAL Step(int Overcalls, int StepMode);
int PASCAL StepN(int Overcalls, int StepMode, int Steps);
BOOL PASCAL ContinueToCursor(int View, int line);
void FormatKdParams(LPSTR);
WORD RemoveAllBreakpoints(void);
BOOL KillDebuggee(void);
void ClearDebuggee(void);
void DisconnectDebuggee(void);
BOOL ConnectDebugger(BOOL *pfReconnecting);
BOOL StartKernelDebugger( VOID );
BOOL AttachDebuggee(DWORD dwProcessId, HANDLE hEventGo);
BOOL RestartDebuggee(LPSTR ExeName, LPSTR Args);
BOOL DebuggeeAlive(void);
BOOL GetCurrentSource(PSTR SrcFname, int SrcLen, DWORD *pSrcLine);
BOOL PASCAL ToggleLocBP(void);
PSTR PASCAL GetExecutableFilename(PSTR executable, UINT size);
void PASCAL GetUserCommandLine(PSTR CommandLine, UINT size);
void PASCAL LoadAdditionalDLLs(void);
void SetProcessExceptions(LPPD);
void ClearProcessExceptions(LPPD);
HINSTANCE LoadHelperDll(PCTSTR psz, PCTSTR pType, BOOL fError);
INT_PTR ExeBrowseBadSym(PFIND_SYM_FILE);
// #defines for UpdateFlags passed to UpdateDebuggerState
#define UPDATE_NONE 0x0000
#define UPDATE_CPU 0x0001
#define UPDATE_LOCALS 0x0002
#define UPDATE_WATCH 0x0004
#define UPDATE_SOURCE 0x0008
#define UPDATE_DEBUGGEE 0x0010
#define UPDATE_DISASM 0x0020
#define UPDATE_FLOAT 0x0040
#define UPDATE_MEMORY 0x0080
#define UPDATE_CALLS 0x0100
#define UPDATE_CONTEXT 0x1000
#define UPDATE_NOFORCE 0x2000
#define UPDATE_SYMBOLS_CHANGED 0x4000
#define UPDATE_ALLDBGWIN (UPDATE_CPU \
|UPDATE_LOCALS \
|UPDATE_WATCH \
|UPDATE_SOURCE \
|UPDATE_DISASM \
|UPDATE_FLOAT \
|UPDATE_MEMORY \
|UPDATE_CALLS \
|UPDATE_CONTEXT\
)
#define UPDATE_ALLSTATES (UPDATE_ALLDBGWIN|UPDATE_DEBUGGEE)
#define UPDATE_WINDOWS (UPDATE_ALLDBGWIN|UPDATE_NOFORCE)
// windows that need to be updated when memory or registers change
#define UPDATE_DATAWINS (UPDATE_CPU \
|UPDATE_LOCALS \
|UPDATE_WATCH \
|UPDATE_FLOAT \
|UPDATE_MEMORY \
|UPDATE_CALLS \
)
// update these when radix changes
#define UPDATE_RADIX (UPDATE_CPU|UPDATE_LOCALS|UPDATE_WATCH)
// Given a filename from CodeView source line information
// return the fully specified filename.
void
PASCAL
BuildRelativeFilename(
LPSTR SrcName,
LPSTR BaseDir,
LPSTR CanonSrcName,
int CanonLen
);
// Sends messages to appropriate windows to update their displays according
// to the value of UpdateFlags
void
PASCAL
UpdateDebuggerState(
UINT UpdateFlags
);
//Set in an newly opened file, visual breakpoints and current line
void
SetDebugLines(
int doc,
BOOL fReset
);
void
PASCAL
HighlightAllBPNodes(
BOOL Set
);
void
PASCAL
AdjustDebugLines(
int DocNumber,
int StartLine,
int NumberLines,
BOOL Added
);
BOOL
PASCAL
CheckExpression(
LPSTR Expr,
EERADIX Radix,
int Case
);
void
PASCAL
UpdateRadix(
UINT newradix
);
BOOL
PASCAL
DebuggeeRunning(
void
);
BOOL
PASCAL
IsProcRunning(
LPPD lppd
);
BOOL
PASCAL
IsProcStopped(
LPPD lppd
);
BOOL
PASCAL
DbgCommandOk(
void
);
BOOL
PASCAL
DbgFEmLoaded(
void
);
BOOL
GetSourceFromAddress(
PADDR pADDR,
PSTR SrcFname,
int SrcLen,
DWORD* pSrcLine
);
BOOL
HighlightBP(
PADDR pAddr,
BOOL Set
);
BOOL
MoveEditorToAddr(
PADDR pAddr,
BOOL bUserActivated
);