home *** CD-ROM | disk | FTP | other *** search
/ The CDPD Public Domain Collection for CDTV 3 / CDPDIII.bin / pd / programming / debug-utils / pv / pvdevelop / pvdevelop.lha / include / PV / DebugBase.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-09-26  |  2.6 KB  |  149 lines

  1. #ifndef PV_DEBUGBASE_H
  2. #define PV_DEBUGBASE_H TRUE
  3. /*
  4. **  $Filename: DebugBase.h $
  5. **  $Release: 1.40 $
  6. **  $Revision: 37.1702 $
  7. **  $Date: 26 Sep 92 $
  8. **
  9. **  Structure definitions for Debug Base (see 'TheWizardCorner')
  10. **
  11. **  © 1992 Jorrit Tyberghein, included with PowerVisor
  12. **        All Rights Reserved
  13. */
  14.  
  15. #ifndef PV_PVMEMORY_H
  16. #include <pv/PVMemory.h>
  17. #endif
  18.  
  19. #ifndef EXEC_LISTS_H
  20. #include <exec/lists.h>
  21. #endif
  22.  
  23. #ifndef DOS_DOS_H
  24. #include <dos/dos.h>
  25. #endif
  26.  
  27.  
  28. #define TRACE_NONE    0
  29. #define TRACE_TRACE    1
  30. #define TRACE_EXEC    2
  31. #define TRACE_FLOWT    2
  32.  
  33. #define TRACES_NORMAL    0
  34. #define TRACES_TTRACE    1
  35. #define TRACES_CRASH    2
  36. #define TRACES_BREAK    3
  37. #define TRACES_TBREAK    4
  38. #define TRACES_WAIT    5
  39. #define TRACES_ERROR    6
  40.  
  41. #define TRACET_NORMAL    0
  42. #define TRACET_AFTER    1
  43. #define TRACET_STEP    2
  44. #define TRACET_UNTIL    3
  45. #define TRACET_REG    4
  46. #define TRACET_COND    5
  47. #define TRACET_BRANCH    6
  48. #define TRACET_FORCE    7
  49. #define TRACET_OSCALL    8
  50. #define TRACET_SKIP    9
  51. #define TRACET_QCOND    10
  52. #define TRACET_PROF    11
  53.  
  54.  
  55. struct BreakpointNode
  56.     {
  57.         struct Node node;
  58.         UWORD Number;
  59.         APTR Address;
  60.         UWORD OrigContents;
  61.         UBYTE Type;
  62.         UBYTE pad0;
  63.         ULONG UsageCount;
  64.         ULONG AdditionalArg;
  65.         APTR BreakRout;
  66.         ULONG pad1;
  67.     };
  68.  
  69. struct DebugNode
  70.     {
  71.         struct Node node;
  72.         ULONG MatchWord;    /* 'DBUG' */
  73.         UBYTE Mode;
  74.         UBYTE SMode;
  75.         BPTR LoadedSegment;
  76.         APTR ProgramCounter;
  77.         APTR TempRout;
  78.         APTR TraceExceptRout;
  79.         APTR RestoreBreakpoint;
  80.         ULONG AdditionalInfo;
  81.         UBYTE TMode;
  82.         UBYTE pad0;
  83.         UBYTE TDNestCnt;
  84.         UBYTE IDNestCnt;
  85.         UBYTE TaskState;
  86.         UBYTE Dirty;
  87.         ULONG SigWait;
  88.         ULONG CrashNum;
  89.         ULONG AdditionalArg;
  90.         struct Task *DebugTask;
  91.         ULONG TopPC;
  92.         ULONG BottomPC;
  93.         UWORD pad1;
  94.         UBYTE InstructionBytes[32];
  95.         APTR InitPC;
  96.         APTR OldTrapCode;
  97.         struct PVMemoryBlock Symbols;
  98.         struct SourceFile *PCSourceFile;
  99.         struct PVMemoryBlock Strings;
  100.         ULONG PCLineNumber;
  101.         struct List Breakpoints;
  102.         UWORD pad2;
  103.         ULONG pad3;
  104.         UWORD pad4;
  105.         UBYTE pad5;
  106.         UBYTE pad6;
  107.         APTR QuitCode;
  108.         APTR OrigQuitCode;
  109.         ULONG SP;
  110.         ULONG PC;
  111.         UWORD SR;
  112.         ULONG Registers[15];
  113.         UBYTE pad7[16];
  114.         struct SourceFile *Source;
  115.         struct SourceFile *CurrentSource;
  116.         UWORD HoldSource;
  117.     };
  118.  
  119. struct SourceFile
  120.     {
  121.         struct SourceFile *Next;
  122.         struct SourceFile *Prev;
  123.         APTR FileName;
  124.         ULONG LinesSize;
  125.         APTR Lines;
  126.         ULONG FileSize;
  127.         APTR File;
  128.         ULONG LineNumber;
  129.         ULONG TopLine;
  130.         ULONG BottomLine;
  131.         ULONG HiLine;
  132.     };
  133.  
  134. struct DebugBase
  135.     {
  136.         ULONG FloatingPoint;
  137.         struct List DebugTasks;
  138.         struct DebugNode *CurrentDebug;
  139.         UBYTE pad0[16];
  140.         UBYTE pad1[8];
  141.         UBYTE ShowRegInfo;
  142.         UBYTE GiveDisassembly;
  143.         UWORD NumLinesToDisassemble;
  144.         UWORD PreviousInstruction;
  145.         UWORD TabSize;
  146.     };
  147.  
  148. #endif
  149.