Mobile API Reference  MicroStrategy 2019
DiagnoseCxx.h File Reference
#include <stdio.h>

Go to the source code of this file.

Macros

#define CHECK_HR   {if (hr != S_OK) {print_stacktrace(); return hr;}}
 
#define CHECK_PTR(p)   {if (!p) {print_stacktrace(); return E_POINTER;}}
 
#define CHECK_NEWED_PTR(p)   {if (!p) {print_stacktrace(); return E_OUT_OF_MEMORY;}}
 
#define CHECK_HR_PTR(ptr)   { CHECK_HR; CHECK_PTR(ptr);}
 
#define AE_ASSERT(expr)   {_ASSERT(expr); if (!(expr)) return E_ASSERT;}
 
#define CHECK_HR_BLOCK(type)   {CHECK_HR; if (type != lBlockType) {print_stacktrace(); return E_DATABLOCK;}}
 
#define CHECK_HR_OBJTYPE(type)   {CHECK_HR; if (type != lObjectType) {print_stacktrace(); return E_DATABLOCK;}}
 

Functions

void print_stacktrace (FILE *out=stderr, unsigned int max_frames=63)
 

Macro Definition Documentation

◆ AE_ASSERT

#define AE_ASSERT (   expr)    {_ASSERT(expr); if (!(expr)) return E_ASSERT;}

◆ CHECK_HR

#define CHECK_HR   {if (hr != S_OK) {print_stacktrace(); return hr;}}

◆ CHECK_HR_BLOCK

#define CHECK_HR_BLOCK (   type)    {CHECK_HR; if (type != lBlockType) {print_stacktrace(); return E_DATABLOCK;}}

◆ CHECK_HR_OBJTYPE

#define CHECK_HR_OBJTYPE (   type)    {CHECK_HR; if (type != lObjectType) {print_stacktrace(); return E_DATABLOCK;}}

◆ CHECK_HR_PTR

#define CHECK_HR_PTR (   ptr)    { CHECK_HR; CHECK_PTR(ptr);}

◆ CHECK_NEWED_PTR

#define CHECK_NEWED_PTR (   p)    {if (!p) {print_stacktrace(); return E_OUT_OF_MEMORY;}}

◆ CHECK_PTR

#define CHECK_PTR (   p)    {if (!p) {print_stacktrace(); return E_POINTER;}}

Function Documentation

◆ print_stacktrace()

void print_stacktrace ( FILE *  out = stderr,
unsigned int  max_frames = 63 
)