Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

122 lines
2.0 KiB

  1. /*++
  2. Copyright (c) 1998-1999 Microsoft Corporation
  3. All rights reserved.
  4. Module Name:
  5. dbgback.hxx
  6. Abstract:
  7. Debug backtrace device header file
  8. Author:
  9. Steve Kiraly (SteveKi) 16-May-1998
  10. Revision History:
  11. --*/
  12. #ifndef _DBGBACK_HXX_
  13. #define _DBGBACK_HXX_
  14. DEBUG_NS_BEGIN
  15. class TDebugImagehlp;
  16. class TDebugDeviceBacktrace : public TDebugDevice {
  17. public:
  18. TDebugDeviceBacktrace::
  19. TDebugDeviceBacktrace(
  20. IN LPCTSTR pszConfiguration,
  21. IN EDebugType eDebugType
  22. );
  23. TDebugDeviceBacktrace::
  24. ~TDebugDeviceBacktrace(
  25. VOID
  26. );
  27. BOOL
  28. TDebugDeviceBacktrace::
  29. bValid(
  30. VOID
  31. );
  32. BOOL
  33. TDebugDeviceBacktrace::
  34. bOutput(
  35. IN UINT uSize,
  36. IN LPBYTE pBuffer
  37. );
  38. BOOL
  39. TDebugDeviceBacktrace::
  40. InitializeOutputDevice(
  41. IN UINT uDevice,
  42. IN LPCTSTR pszConfiguration,
  43. IN UINT uCharacterType
  44. );
  45. private:
  46. enum Constants
  47. {
  48. kMaxDepth = 256,
  49. kMaxSymbolName = 256,
  50. };
  51. //
  52. // Copying and assignment are not defined.
  53. //
  54. TDebugDeviceBacktrace::
  55. TDebugDeviceBacktrace(
  56. const TDebugDeviceBacktrace &rhs
  57. );
  58. const TDebugDeviceBacktrace &
  59. TDebugDeviceBacktrace::
  60. operator=(
  61. const TDebugDeviceBacktrace &rhs
  62. );
  63. BOOL
  64. TDebugDeviceBacktrace::
  65. CollectDeviceArguments(
  66. VOID
  67. );
  68. BOOL
  69. TDebugDeviceBacktrace::
  70. OutputBacktrace(
  71. IN UINT uCount,
  72. IN PVOID *apvBacktrace
  73. );
  74. VOID
  75. TDebugDeviceBacktrace::
  76. InitSympath(
  77. VOID
  78. );
  79. VOID
  80. TDebugDeviceBacktrace::
  81. WriteSympathToOutputDevice(
  82. VOID
  83. );
  84. TDebugImagehlp *_pDbgImagehlp;
  85. BOOL _bValid;
  86. BOOL _bAnsi;
  87. TDebugDevice *_pDbgDevice;
  88. BOOL _bDisplaySymbols;
  89. TDebugString _strSympath;
  90. };
  91. DEBUG_NS_END
  92. #endif