dbgSimntLib.h
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:2k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* dbgI86Lib.h - header file for arch dependent portion of debugger */
  2. /*
  3. modification history
  4. --------------------
  5. 01a,29apr98,cym  written based on x86 version.
  6. */
  7. #ifndef __INCI86dbgh
  8. #define __INCI86dbgh
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12. #ifndef _ASMLANGUAGE
  13. typedef struct
  14.     {
  15.     unsigned int db0;
  16.     unsigned int db1;
  17.     unsigned int db2;
  18.     unsigned int db3;
  19.     unsigned int db6;
  20.     unsigned int db7;
  21.     } DBG_REGS;
  22. #define BREAK_ESF EXC_INFO
  23. #define TRACE_ESF EXC_INFO
  24. #define EDI 0 /* register offset in regSet */
  25. #define ESI 1
  26. #define EBP 2
  27. #define ESP 3
  28. #define EBX 4
  29. #define EDX 5
  30. #define ECX 6
  31. #define EAX 7
  32. #define EFLAGS 8
  33. #endif /* _ASMLANGUAGE */
  34. #define BRK_INST 0x1000 /* instruction hardware breakpoint */
  35. #define BRK_DATAW1 0x1400 /* data write 1 byte breakpoint */
  36. #define BRK_DATAW2 0x1500 /* data write 2 byte breakpoint */
  37. #define BRK_DATAW4 0x1700 /* data write 4 byte breakpoint */
  38. #define BRK_DATARW1 0x1c00 /* data read-write 1 byte breakpoint */
  39. #define BRK_DATARW2 0x1d00 /* data read-write 2 byte breakpoint */
  40. #define BRK_DATARW4 0x1f00 /* data read-write 4 byte breakpoint */
  41. #define BRK_HARDWARE 0x1000 /* hardware breakpoint bit */
  42. #define BRK_HARDMASK 0x1f00 /* hardware breakpoint mask */
  43. #define BREAK_INST 0xcc /* int 3 */
  44. #define DBG_BREAK_INST 0xcc /* int 3 */
  45. #define TRACE_FLAG 0x0100 /* TF in EFLAGS */
  46. #define INT_FLAG 0x0200 /* IF in EFLAGS */
  47. #define MAX_HARDBP_COUNT 4 /* max number of hardware bp */
  48. #define DBG_INST_ALIGN 1
  49. /* instruction patterns and masks */
  50. #define ENTER 0xc8
  51. #define PUSH_EBP 0x55
  52. #define MOV_ESP0 0x89
  53. #define MOV_ESP1 0xe5
  54. #define LEAVE 0xc9
  55. #define RET 0xc3
  56. #define RETADD 0xc2
  57. #define CALL_DIR 0xe8
  58. #define CALL_INDIR0 0xff
  59. #define CALL_INDIR1 0x10
  60. #define ENTER_MASK 0xff
  61. #define PUSH_EBP_MASK 0xff
  62. #define MOV_ESP0_MASK 0xff
  63. #define MOV_ESP1_MASK 0xff
  64. #define LEAVE_MASK 0xff
  65. #define RET_MASK 0xff
  66. #define RETADD_MASK 0xff
  67. #define CALL_DIR_MASK 0xff
  68. #define CALL_INDIR0_MASK 0xff
  69. #define CALL_INDIR1_MASK 0x38
  70. /* break-point enable/disable bits */
  71. /* trace enable/disable bits */
  72. /* trace status bits */
  73. /* break-point status bits */
  74. #ifdef __cplusplus
  75. }
  76. #endif
  77. #endif /* INCI86dbgh */