Logo Search packages:      
Sourcecode: virtualbox-ose version File versions  Download package

dbgf.h File Reference


Detailed Description

DBGF - Debugging Facility.

Definition in file dbgf.h.

#include <VBox/cdefs.h>
#include <VBox/types.h>
#include <VBox/vmm.h>
#include <VBox/log.h>
#include <iprt/stdarg.h>

Go to the source code of this file.

Classes

struct  DBGFADDRESS
struct  DBGFBP
struct  DBGFEVENT
struct  DBGFINFOHLP
struct  DBGFLINE
struct  DBGFOSREG
struct  DBGFSTACKFRAME
struct  DBGFSYMBOL

Defines

#define DBGF_SEL_FLAT   1
#define DBGF_SYMBOL_NAME_LENGTH   512
#define DBGFOSREG_MAGIC   0x19830808
#define DBGFR3DisasInstrCurrentLog(pVM, pszPrefix)   do { } while (0)
#define DBGFR3DisasInstrLog(pVM, Sel, GCPtr)   do { } while (0)
#define DBGFR3InfoLog(pVM, pszName, pszArgs)   do { } while (0)
#define DBGFSTOP(pVM)   VINF_SUCCESS
#define DBGF_DISAS_FLAGS_CURRENT_GUEST   RT_BIT(0)
#define DBGF_DISAS_FLAGS_CURRENT_HYPER   RT_BIT(1)
#define DBGF_DISAS_FLAGS_NO_ADDRESS   RT_BIT(5)
#define DBGF_DISAS_FLAGS_NO_ANNOTATION   RT_BIT(2)
#define DBGF_DISAS_FLAGS_NO_BYTES   RT_BIT(4)
#define DBGF_DISAS_FLAGS_NO_SYMBOLS   RT_BIT(3)
DBGFADDRESS Flags.
#define DBGFADDRESS_FLAGS_FAR16   0
#define DBGFADDRESS_FLAGS_FAR32   1
#define DBGFADDRESS_FLAGS_FAR64   2
#define DBGFADDRESS_FLAGS_FLAT   3
#define DBGFADDRESS_FLAGS_HMA   RT_BIT(4)
#define DBGFADDRESS_FLAGS_PHYS   4
#define DBGFADDRESS_FLAGS_TYPE_MASK   7
#define DBGFADDRESS_FLAGS_VALID   RT_BIT(3)
#define DBGFADDRESS_IS_FAR16(pAddress)   ( ((pAddress)->fFlags & DBGFADDRESS_FLAGS_TYPE_MASK) == DBGFADDRESS_FLAGS_FAR16 )
#define DBGFADDRESS_IS_FAR32(pAddress)   ( ((pAddress)->fFlags & DBGFADDRESS_FLAGS_TYPE_MASK) == DBGFADDRESS_FLAGS_FAR32 )
#define DBGFADDRESS_IS_FAR64(pAddress)   ( ((pAddress)->fFlags & DBGFADDRESS_FLAGS_TYPE_MASK) == DBGFADDRESS_FLAGS_FAR64 )
#define DBGFADDRESS_IS_FLAT(pAddress)   ( ((pAddress)->fFlags & DBGFADDRESS_FLAGS_TYPE_MASK) == DBGFADDRESS_FLAGS_FLAT )
#define DBGFADDRESS_IS_HMA(pAddress)   ( !!((pAddress)->fFlags & DBGFADDRESS_FLAGS_HMA) )
#define DBGFADDRESS_IS_PHYS(pAddress)   ( ((pAddress)->fFlags & DBGFADDRESS_FLAGS_TYPE_MASK) == DBGFADDRESS_FLAGS_PHYS )
#define DBGFADDRESS_IS_VALID(pAddress)   ( !!((pAddress)->fFlags & DBGFADDRESS_FLAGS_VALID) )
Flags for the info registration functions.
#define DBGFINFO_FLAGS_RUN_ON_EMT   RT_BIT(0)
DBGFSTACKFRAME Flags.
#define DBGFSTACKFRAME_FLAGS_ALL_VALID   RT_BIT(0)
#define DBGFSTACKFRAME_FLAGS_LAST   RT_BIT(1)
#define DBGFSTACKFRAME_FLAGS_LOOP   RT_BIT(2)
#define DBGFSTACKFRAME_FLAGS_MAX_DEPTH   RT_BIT(3)

Typedefs

typedef enum DBGFRETRUNTYPE DBGFRETURNTYPE
typedef void PCDBGFBP pBp
typedef const DBGFADDRESSPCDBGFADDRESS
typedef const DBGFBPPCDBGFBP
typedef const DBGFEVENTPCDBGFEVENT
typedef struct DBGFINFOHLPPCDBGFINFOHLP
typedef const DBGFLINEPCDBGFLINE
typedef DBGFOSINTERFACE const * PCDBGFOSINTERFACE
typedef DBGFOSREG const * PCDBGFOSREG
typedef const DBGFSYMBOLPCDBGFSYMBOL
typedef DBGFADDRESSPDBGFADDRESS
typedef DBGFBPPDBGFBP
typedef DBGFEVENTPDBGFEVENT
typedef struct DBGFINFOHLPPDBGFINFOHLP
typedef DBGFLINEPDBGFLINE
typedef DBGFOSINTERFACEPDBGFOSINTERFACE
typedef DBGFOSREGPDBGFOSREG
typedef struct DBGFSTACKFRAMEPDBGFSTACKFRAME
typedef DBGFSYMBOLPDBGFSYMBOL
typedef FNDBGFBPENUM * PFNDBGFBPENUM
typedef FNDBGFHANDLERDEV * PFNDBGFHANDLERDEV
typedef FNDBGFHANDLERDRV * PFNDBGFHANDLERDRV
typedef FNDBGFHANDLEREXT * PFNDBGFHANDLEREXT
typedef FNDBGFHANDLERINT * PFNDBGFHANDLERINT
typedef FNDBGFINFOENUM * PFNDBGFINFOENUM
typedef PCDBGFINFOHLP pHlp
typedef PCDBGFINFOHLP const char * pszArgs
typedef void * pvUser

Enumerations

enum  DBGFBPTYPE {
  DBGFBPTYPE_FREE = 0, DBGFBPTYPE_REG, DBGFBPTYPE_INT3, DBGFBPTYPE_REM,
  DBGFBPTYPE_32BIT_HACK = 0x7fffffff
}
enum  DBGFEVENTCTX {
  DBGFEVENTCTX_INVALID = 0, DBGFEVENTCTX_RAW, DBGFEVENTCTX_REM, DBGFEVENTCTX_HWACCL,
  DBGFEVENTCTX_HYPER, DBGFEVENTCTX_OTHER, DBGFEVENTCTX_32BIT_HACK = 0x7fffffff
}
enum  DBGFEVENTTYPE {
  DBGFEVENT_HALT_DONE = 0, DBGFEVENT_DETACH_DONE, DBGFEVENT_INVALID_COMMAND, DBGFEVENT_FATAL_ERROR = 100,
  DBGFEVENT_BREAKPOINT, DBGFEVENT_BREAKPOINT_HYPER, DBGFEVENT_ASSERTION_HYPER, DBGFEVENT_STEPPED,
  DBGFEVENT_STEPPED_HYPER, DBGFEVENT_DEV_STOP, DBGFEVENT_TERMINATING, DBGFEVENT_32BIT_HACK = 0x7fffffff
}
enum  DBGFOSINTERFACE {
  DBGFOSINTERFACE_INVALID = 0, DBGFOSINTERFACE_PROCESS, DBGFOSINTERFACE_THREAD, DBGFOSINTERFACE_END,
  DBGFOSINTERFACE_32BIT_HACK = 0x7fffffff
}
enum  DBGFRETRUNTYPE {
  DBGFRETURNTYPE_INVALID = 0, DBGFRETURNTYPE_NEAR16, DBGFRETURNTYPE_NEAR32, DBGFRETURNTYPE_NEAR64,
  DBGFRETURNTYPE_FAR16, DBGFRETURNTYPE_FAR32, DBGFRETURNTYPE_FAR64, DBGFRETURNTYPE_IRET16,
  DBGFRETURNTYPE_IRET32, DBGFRETURNTYPE_IRET32_PRIV, DBGFRETURNTYPE_IRET32_V86, DBGFRETURNTYPE_IRET64,
  DBGFRETURNTYPE_32BIT_HACK = 0x7fffffff
}

Functions

 DBGFDECL (bool) DBGFIsStepping(PVM pVM)
 DBGFDECL (RTGCUINTREG) DBGFBpGetDR7(PVM pVM)
 DBGFR3DECL (void *) DBGFR3OSQueryInterface(PVM pVM
 DBGFR3DECL (PDBGFLINE) DBGFR3LineByAddrAlloc(PVM pVM
 DBGFR3DECL (PDBGFSYMBOL) DBGFR3SymbolByAddrAlloc(PVM pVM
 DBGFR3DECL (PCDBGFINFOHLP) DBGFR3InfoLogHlp(void)
 DBGFR3DECL (bool) DBGFR3AddrIsValid(PVM pVM
 DBGFR3DECL (void) DBGFR3AddrFromPhys(PVM pVM
 DBGFR3DECL (PDBGFADDRESS) DBGFR3AddrFromFlat(PVM pVM
 DBGFR3DECL (int) DBGFR3AddrFromSelOff(PVM pVM
typedef DECLCALLBACK (void) FNDBGFHANDLERDEV(PPDMDEVINS pDevIns
typedef DECLCALLBACK (int) FNDBGFBPENUM(PVM pVM
 DECLINLINE (unsigned) DBGFReturnTypeSize(DBGFRETURNTYPE enmRetType)

Variables

RTGCUINTPTR Address
const char RTGCUINTPTR AddressDelta
DBGFEVENTTYPE const char
unsigned const char const char
DBGFEVENTTYPE const char
unsigned const char const char
va_list 
args
PCDBGFADDRESS uint64_t
uint64_t uint8_t uint8_t 
cb
PCDBGFADDRESS char size_t cbBuf
const char RTGCUINTPTR const
char RTGCUINTPTR unsigned 
cbImage
PCDBGFADDRESS RTGCUINTPTR
const uint8_t size_t 
cbNeedle
RTSEL RTGCPTR char uint32_t cbOutput
PCDBGFADDRESS void size_t cbRead
RTGCUINTPTR RTGCUINTPTR RTUINT cbSymbol
char size_t cchName
RTSEL RTGCPTR unsigned char
uint32_t 
cchOutput
char size_t char size_t cchVersion
unsigned cMillies
DBGFEVENTTYPE enmEvent
DBGFOSINTERFACE enmIf
const char const char
PFNDBGFHANDLERINT uint32_t 
fFlags
PDBGFADDRESS RTGCUINTPTR FlatPtr
PCDBGFADDRESS uint64_t
uint64_t uint8_t 
fType
RTSEL RTGCPTR GCPtr
RTUINT iBp
PCDBGFADDRESS uint64_t uint64_t iHitDisable
PCDBGFADDRESS uint64_t iHitTrigger
const char RTGCUINTPTR const
char RTGCUINTPTR 
ModuleAddress
RTGCUINTPTR RTGCUINTPTR NewImageBase
RTGCINTPTR offDelta
RTGCUINTPTR OldImageBase
PCDBGFADDRESS RTGCUINTPTR
const uint8_t * 
pabNeedle
PDBGFADDRESS pAddress
RTSEL RTGCPTR unsigned char
uint32_t uint32_t * 
pcbInstr
const char const char
PFNDBGFHANDLERDEV PPDMDEVINS 
pDevIns
const char const char
PFNDBGFHANDLERDRV PPDMDRVINS 
pDrvIns
PFNDBGFBPENUM pfnCallback
const char const char
PFNDBGFHANDLERDEV 
pfnHandler
PDBGFSTACKFRAME pFrame
PCDBGFADDRESS RTGCUINTPTR
const uint8_t size_t
PDBGFADDRESS 
pHitAddress
PDBGFADDRESS RTGCPHYS PhysAddr
PCDBGFADDRESS uint64_t
uint64_t PRTUINT 
piBp
RTGCUINTPTR PRTGCINTPTR PDBGFLINE pLine
RTGCUINTPTR PRTGCINTPTR poffDisplacement
unsigned PCDBGFEVENTppEvent
PCDBGFOSREG pReg
RTGCUINTPTR PRTGCINTPTR PDBGFSYMBOL pSymbol
PCDBGFADDRESS char * pszBuf
const char * pszDestSettings
DBGFEVENTTYPE const char * pszFile
const char * pszFilename
const char * pszFlagSettings
DBGFEVENTTYPE const char
unsigned const char const char * 
pszFormat
DBGFEVENTTYPE const char
unsigned const char * 
pszFunction
const char * pszGroupSettings
DBGFEVENTTYPE const char * pszMsg1
DBGFEVENTTYPE const char const
char * 
pszMsg2
const char * pszName
RTSEL RTGCPTR unsigned char * pszOutput
const char * pszPrefix
RTGCUINTPTR RTGCUINTPTR RTUINT
const char * 
pszSymbol
char size_t char * pszVersion
PCDBGFADDRESS void * pvBuf
PDBGFADDRESS RTSEL Sel
RTGCUINTPTR RTGCUINTPTR SymbolAddress
DBGFEVENTTYPE const char unsigned uLine
R3 DevHlp
PCDBGFADDRESS RTGCUINTPTR cbRange
PDBGFADDRESS RTSEL RTUINTPTR off
const char const char * pszDesc


Generated by  Doxygen 1.6.0   Back to index