DebugCommon.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #pragma once
  2. #pragma warning(disable:4996)
  3. #pragma warning(disable:4291)
  4. #include "BeefySysLib/Common.h"
  5. #include "BeefySysLib/util/Array.h"
  6. #include "BeefySysLib/util/String.h"
  7. #ifdef BF_DBG_32
  8. #define NS_BF_DBG BeefyDbg32
  9. #define NS_BF_DBG_BEGIN namespace NS_BF_DBG {
  10. #define NS_BF_DBG_END }
  11. #define USING_NS_BF_DBG using namespace Beefy; using namespace NS_BF_DBG
  12. typedef uint32 addr_target;
  13. typedef int32 intptr_target;
  14. #define DbgRadixMap RadixMap32
  15. #elif defined BF_DBG_64
  16. #define NS_BF_DBG BeefyDbg64
  17. #define NS_BF_DBG_BEGIN namespace NS_BF_DBG {
  18. #define NS_BF_DBG_END }
  19. #define USING_NS_BF_DBG using namespace Beefy; using namespace NS_BF_DBG
  20. typedef uint64 addr_target;
  21. typedef int64 intptr_target;
  22. #define DbgRadixMap RadixMap64
  23. #else
  24. // Not targeted
  25. #endif
  26. NS_BF_BEGIN
  27. enum DbgFlavor : uint8
  28. {
  29. DbgFlavor_Unknown,
  30. DbgFlavor_GNU,
  31. DbgFlavor_MS
  32. };
  33. enum DbgLanguage : int8
  34. {
  35. DbgLanguage_NotSet = -1,
  36. DbgLanguage_Unknown = 0,
  37. DbgLanguage_C,
  38. DbgLanguage_Beef,
  39. DbgLanguage_BeefUnfixed, // Has *'s after class names
  40. DbgLanguage_COUNT
  41. };
  42. enum DbgAddrType : uint8
  43. {
  44. DbgAddrType_None,
  45. DbgAddrType_Value,
  46. DbgAddrType_Local,
  47. DbgAddrType_LocalSplat,
  48. DbgAddrType_Target,
  49. DbgAddrType_TargetDeref,
  50. DbgAddrType_Register,
  51. DbgAddrType_OptimizedOut,
  52. DbgAddrType_NoValue,
  53. DbgAddrType_Alias
  54. };
  55. enum DbgBreakKind
  56. {
  57. DbgBreakKind_None,
  58. DbgBreakKind_ObjectAccess,
  59. DbgBreakKind_ArithmeticOverflow
  60. };
  61. NS_BF_END