//-------------------------------------------------------------------- // DBC.H // // This contains a list of all the debugger callback notifications. // // There are multiple users of this file. To use it, you must // define a DECL_DBC macro to extract the pieces of information that // you are interested in from this file. For example, if you want // the numerical value, name (as a string), and fRequest flag for // each callback, you could write the following: // // typedef struct { // DBC dbc; // LPCSTR lszDbc; // BOOL fRequest; // } DBCINFO; // // #define DECL_DBC(name, fRequest, dbct) { dbc##name, "dbc" #name, fRequest }, // // DBCINFO rgdbcinfo[] = { // #include "dbc.h" // }; // // #undef DECL_DBC //-------------------------------------------------------------------- DECL_DBC(Nil, FALSE, dbctStop) DECL_DBC(Bpt, FALSE, dbctStop) DECL_DBC(CheckBpt, TRUE, dbctContinue) DECL_DBC(SendBpt, FALSE, dbctContinue) DECL_DBC(WatchPoint, FALSE, dbctStop) DECL_DBC(CheckWatchPoint, TRUE, dbctContinue) DECL_DBC(SendWatchPoint, FALSE, dbctContinue) DECL_DBC(MsgBpt, FALSE, dbctStop) DECL_DBC(CheckMsgBpt, TRUE, dbctContinue) DECL_DBC(SendMsgBpt, FALSE, dbctContinue) DECL_DBC(AsyncStop, FALSE, dbctStop) // Async stop has completed DECL_DBC(EntryPoint, FALSE, dbctStop) DECL_DBC(LoadComplete, FALSE, dbctStop) DECL_DBC(Signal, FALSE, dbctStop) DECL_DBC(Exception, FALSE, dbctMaybeContinue) DECL_DBC(ExecuteDone, FALSE, dbctStop) DECL_DBC(Step, FALSE, dbctStop) DECL_DBC(CanStep, TRUE, dbctContinue) DECL_DBC(NewProc, FALSE, dbctContinue) DECL_DBC(ProcTerm, FALSE, dbctStop) DECL_DBC(DeleteProc, FALSE, dbctContinue) DECL_DBC(CreateThread, FALSE, dbctStop) DECL_DBC(ThreadTerm, FALSE, dbctStop) DECL_DBC(DeleteThread, FALSE, dbctContinue) DECL_DBC(ModLoad, FALSE, dbctContinue) DECL_DBC(ModFree, FALSE, dbctContinue) DECL_DBC(SegLoad, FALSE, dbctContinue) DECL_DBC(InfoAvail, FALSE, dbctContinue) // i.e. OutputDebugString DECL_DBC(InfoReq, TRUE, dbctContinue) // i.e. InputDebugString DECL_DBC(Error, FALSE, dbctStop) // misc error reporting DECL_DBC(ServiceDone, FALSE, dbctStop) // SystemService reporting completion DECL_DBC(LastAddr, TRUE, dbctContinue) // get last address in source line DECL_DBC(EmChange, FALSE, dbctContinue) DECL_DBC(CodeChanged, FALSE, dbctContinue) DECL_DBC(MemoryChanged, FALSE, dbctContinue) DECL_DBC(ThreadBlocked, FALSE, dbctStop) DECL_DBC(FlipScreen, FALSE, dbctContinue) DECL_DBC(HardMode, FALSE, dbctContinue) DECL_DBC(SoftMode, FALSE, dbctContinue) DECL_DBC(RemoteQuit, FALSE, dbctStop) // Might these be the same thing? DECL_DBC(CommError, FALSE, dbctStop) DECL_DBC(ExitedFunction, TRUE, dbctContinue) // We just exited a function (either stepped // a RET, or stepped over a CALL) // wParam = nothing // lParam = LPADDR, points to some address // in the function we just exited; NOT // necessarily the very beginning of the func DECL_DBC(Max, FALSE, dbctStop)