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.
160 lines
4.9 KiB
160 lines
4.9 KiB
/*******************************************************************************
|
|
Copyright (c) 1995-96 Microsoft Corporation
|
|
|
|
Abstract:
|
|
hfdebug.h
|
|
|
|
Debugging stuff for use in Hyperfine. See core/debug/hfdebug.txt for more
|
|
information.
|
|
|
|
*******************************************************************************/
|
|
|
|
#ifndef _HFDEBUG_H_
|
|
#define _HFDEBUG_H_
|
|
|
|
#include "crtdbg.h"
|
|
#include <stdio.h>
|
|
|
|
//+-------------------------------------------------------------------------
|
|
//
|
|
// VC 5 compiler requires these templates to be outside of extern C
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
#if _DEBUG
|
|
template <class t> inline t
|
|
TraceFail(t errExpr, int errTest, BOOL fIgnore, LPSTR pstrExpr, LPSTR pstrFile, int line)
|
|
{
|
|
return (t) TraceFailL((long) errExpr, errTest, fIgnore, pstrExpr, pstrFile, line);
|
|
}
|
|
|
|
template <class t, class v> inline t
|
|
TraceWin32(t errExpr, v errTest, BOOL fIgnore, LPSTR pstrExpr, LPSTR pstrFile, int line)
|
|
{
|
|
return (t) TraceWin32L((long) errExpr, (long)errTest, fIgnore, pstrExpr, pstrFile, line);
|
|
}
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif
|
|
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Assert & Verify
|
|
//--------------------------------------------------------------------------
|
|
|
|
#define Assert(x)
|
|
#define Verify(x) x
|
|
#define StartupAssert(x)
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Trace Tags
|
|
//--------------------------------------------------------------------------
|
|
|
|
typedef int TAG;
|
|
|
|
#define TraceTag(x)
|
|
#define TraceTagEx(x)
|
|
#define TraceCallers(tag, iStart, cTotal)
|
|
#define DeclareTag(tag, szOwner, szDescription)
|
|
#define DeclareTagOther(tag, szOwner, szDescription)
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Memory Allocation
|
|
//--------------------------------------------------------------------------
|
|
|
|
#define BEGIN_LEAK
|
|
#define END_LEAK
|
|
|
|
#define SET_ALLOC_HOOK
|
|
#define DUMPMEMORYLEAKS
|
|
|
|
#define DbgPreAlloc(cb) cb
|
|
#define DbgPostAlloc(pv) pv
|
|
#define DbgPreFree(pv) pv
|
|
#define DbgPostFree()
|
|
#define DbgPreRealloc(pv, cb, ppv) cb
|
|
#define DbgPostRealloc(pv) pv
|
|
#define DbgPreGetSize(pv) pv
|
|
#define DbgPostGetSize(cb) cb
|
|
#define DbgPreDidAlloc(pv) pv
|
|
#define DbgPostDidAlloc(pv, fAct) fAct
|
|
#define DbgRegisterMallocSpy()
|
|
#define DbgRevokeMallocSpy()
|
|
#define DbgMemoryTrackDisable(fb)
|
|
|
|
//+---------------------------------------------------------------------
|
|
// Interface tracing.
|
|
//----------------------------------------------------------------------
|
|
|
|
#define WATCHINTERFACE(iid, p, pstr) (p)
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Miscelleanous
|
|
//--------------------------------------------------------------------------
|
|
|
|
#define RESTOREDEFAULTDEBUGSTATE
|
|
#define DebugCode(block) // Nothing
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Failure testing
|
|
//--------------------------------------------------------------------------
|
|
|
|
#define TFAIL(x, e) (x)
|
|
#define TW32(x, e) (x)
|
|
#define THR(x) (x)
|
|
|
|
#define TFAIL_NOTRACE(e, x) (x)
|
|
#define TW32_NOTRACE(e, x) (x)
|
|
#define THR_NOTRACE(x) (x)
|
|
|
|
#define IGNORE_FAIL(e, x) (x)
|
|
#define IGNORE_W32(e,x) (x)
|
|
#define IGNORE_HR(x) (x)
|
|
|
|
//+-------------------------------------------------------------------------
|
|
// Return tracing
|
|
//--------------------------------------------------------------------------
|
|
|
|
#define SRETURN(hr) return (hr)
|
|
#define RRETURN(hr) return (hr)
|
|
#define RRETURN1(hr, s1) return (hr)
|
|
#define RRETURN2(hr, s1, s2) return (hr)
|
|
#define RRETURN3(hr, s1, s2, s3) return (hr)
|
|
|
|
#define SRETURN_NOTRACE(hr) return (hr)
|
|
#define RRETURN_NOTRACE(hr) return (hr)
|
|
#define RRETURN1_NOTRACE(hr, s1) return (hr)
|
|
#define RRETURN2_NOTRACE(hr, s1, s2) return (hr)
|
|
#define RRETURN3_NOTRACE(hr, s1, s2, s3) return (hr)
|
|
|
|
//+-------------------------------------------------------------------------
|
|
// Debug view
|
|
//--------------------------------------------------------------------------
|
|
|
|
void DebugView(HWND hwndOwner, IUnknown *pUnk);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
|
|
//+-------------------------------------------------------------------------
|
|
// Object Tracker stuff
|
|
//--------------------------------------------------------------------------
|
|
|
|
#define DUMPTRACKEDOBJECTS
|
|
#define DECLARE_TRACKED_OBJECT
|
|
#define TRACK_OBJECT(_x_)
|
|
|
|
/* class __declspec( dllexport) CObjectCheck
|
|
{
|
|
CObjectCheck(void) {};
|
|
~CObjectCheck(void) {};
|
|
|
|
void Append(void * pv) {};
|
|
};*/
|
|
|
|
#endif // _HFDEBUG_H_
|