home *** CD-ROM | disk | FTP | other *** search
- #ifndef PV_DEBUGBASE_H
- #define PV_DEBUGBASE_H TRUE
- /*
- ** $Filename: DebugBase.h $
- ** $Release: 1.40 $
- ** $Revision: 37.1702 $
- ** $Date: 26 Sep 92 $
- **
- ** Structure definitions for Debug Base (see 'TheWizardCorner')
- **
- ** © 1992 Jorrit Tyberghein, included with PowerVisor
- ** All Rights Reserved
- */
-
- #ifndef PV_PVMEMORY_H
- #include <pv/PVMemory.h>
- #endif
-
- #ifndef EXEC_LISTS_H
- #include <exec/lists.h>
- #endif
-
- #ifndef DOS_DOS_H
- #include <dos/dos.h>
- #endif
-
-
- #define TRACE_NONE 0
- #define TRACE_TRACE 1
- #define TRACE_EXEC 2
- #define TRACE_FLOWT 2
-
- #define TRACES_NORMAL 0
- #define TRACES_TTRACE 1
- #define TRACES_CRASH 2
- #define TRACES_BREAK 3
- #define TRACES_TBREAK 4
- #define TRACES_WAIT 5
- #define TRACES_ERROR 6
-
- #define TRACET_NORMAL 0
- #define TRACET_AFTER 1
- #define TRACET_STEP 2
- #define TRACET_UNTIL 3
- #define TRACET_REG 4
- #define TRACET_COND 5
- #define TRACET_BRANCH 6
- #define TRACET_FORCE 7
- #define TRACET_OSCALL 8
- #define TRACET_SKIP 9
- #define TRACET_QCOND 10
- #define TRACET_PROF 11
-
-
- struct BreakpointNode
- {
- struct Node node;
- UWORD Number;
- APTR Address;
- UWORD OrigContents;
- UBYTE Type;
- UBYTE pad0;
- ULONG UsageCount;
- ULONG AdditionalArg;
- APTR BreakRout;
- ULONG pad1;
- };
-
- struct DebugNode
- {
- struct Node node;
- ULONG MatchWord; /* 'DBUG' */
- UBYTE Mode;
- UBYTE SMode;
- BPTR LoadedSegment;
- APTR ProgramCounter;
- APTR TempRout;
- APTR TraceExceptRout;
- APTR RestoreBreakpoint;
- ULONG AdditionalInfo;
- UBYTE TMode;
- UBYTE pad0;
- UBYTE TDNestCnt;
- UBYTE IDNestCnt;
- UBYTE TaskState;
- UBYTE Dirty;
- ULONG SigWait;
- ULONG CrashNum;
- ULONG AdditionalArg;
- struct Task *DebugTask;
- ULONG TopPC;
- ULONG BottomPC;
- UWORD pad1;
- UBYTE InstructionBytes[32];
- APTR InitPC;
- APTR OldTrapCode;
- struct PVMemoryBlock Symbols;
- struct SourceFile *PCSourceFile;
- struct PVMemoryBlock Strings;
- ULONG PCLineNumber;
- struct List Breakpoints;
- UWORD pad2;
- ULONG pad3;
- UWORD pad4;
- UBYTE pad5;
- UBYTE pad6;
- APTR QuitCode;
- APTR OrigQuitCode;
- ULONG SP;
- ULONG PC;
- UWORD SR;
- ULONG Registers[15];
- UBYTE pad7[16];
- struct SourceFile *Source;
- struct SourceFile *CurrentSource;
- UWORD HoldSource;
- };
-
- struct SourceFile
- {
- struct SourceFile *Next;
- struct SourceFile *Prev;
- APTR FileName;
- ULONG LinesSize;
- APTR Lines;
- ULONG FileSize;
- APTR File;
- ULONG LineNumber;
- ULONG TopLine;
- ULONG BottomLine;
- ULONG HiLine;
- };
-
- struct DebugBase
- {
- ULONG FloatingPoint;
- struct List DebugTasks;
- struct DebugNode *CurrentDebug;
- UBYTE pad0[16];
- UBYTE pad1[8];
- UBYTE ShowRegInfo;
- UBYTE GiveDisassembly;
- UWORD NumLinesToDisassemble;
- UWORD PreviousInstruction;
- UWORD TabSize;
- };
-
- #endif
-