FreeRDP
corkscrew/debug.c File Reference
#include <pthread.h>
#include <dlfcn.h>
#include <unistd.h>
#include <stdio.h>
#include <fcntl.h>
#include <winpr/string.h>
#include <corkscrew/backtrace.h>
#include <winpr/crt.h>
#include <winpr/wlog.h>
#include "debug.h"

Macros

#define TAG   "com.winpr.utils.debug"
 
#define LOGT(...)
 
#define LOGD(...)
 
#define LOGI(...)
 
#define LOGW(...)
 
#define LOGE(...)
 
#define LOGF(...)
 

Functions

void load_library (void)
 
void winpr_corkscrew_backtrace_free (void *buffer)
 
void * winpr_corkscrew_backtrace (DWORD size)
 
char ** winpr_corkscrew_backtrace_symbols (void *buffer, size_t *used)
 

Variables

static const char * support_msg = "Invalid stacktrace buffer! check if platform is supported!"
 
static pthread_once_t initialized = PTHREAD_ONCE_INIT
 
static t_corkscrew * fkt = NULL
 

Macro Definition Documentation

◆ LOGD

#define LOGD (   ...)
Value:
do \
{ \
WLog_Print(WLog_Get(TAG), WLOG_DEBUG, __VA_ARGS__); \
} while (0)
#define TAG
Definition: corkscrew/debug.c:36
#define WLOG_DEBUG
Definition: include/winpr/wlog.h:41
WINPR_API wLog * WLog_Get(LPCSTR name)
Definition: wlog.c:1028

◆ LOGE

#define LOGE (   ...)
Value:
do \
{ \
WLog_Print(WLog_Get(TAG), WLOG_ERROR, __VA_ARGS__); \
} while (0)
#define WLOG_ERROR
Definition: include/winpr/wlog.h:44

◆ LOGF

#define LOGF (   ...)
Value:
do \
{ \
WLog_Print(WLog_Get(TAG), WLOG_FATAL, __VA_ARGS__); \
} while (0)
#define WLOG_FATAL
Definition: include/winpr/wlog.h:45

◆ LOGI

#define LOGI (   ...)
Value:
do \
{ \
WLog_Print(WLog_Get(TAG), WLOG_INFO, __VA_ARGS__); \
} while (0)
#define WLOG_INFO
Definition: include/winpr/wlog.h:42

◆ LOGT

#define LOGT (   ...)
Value:
do \
{ \
WLog_Print(WLog_Get(TAG), WLOG_TRACE, __VA_ARGS__); \
} while (0)
#define WLOG_TRACE
Definition: include/winpr/wlog.h:40

◆ LOGW

#define LOGW (   ...)
Value:
do \
{ \
WLog_Print(WLog_Get(TAG), WLOG_WARN, __VA_ARGS__); \
} while (0)
#define WLOG_WARN
Definition: include/winpr/wlog.h:43

◆ TAG

#define TAG   "com.winpr.utils.debug"

WinPR: Windows Portable Runtime Debugging Utils

Copyright 2014 Armin Novak armin.nosp@m..nov.nosp@m.ak@th.nosp@m.inca.nosp@m.st.co.nosp@m.m Copyright 2014 Thincast Technologies GmbH

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Function Documentation

◆ load_library()

void load_library ( void  )
Here is the caller graph for this function:

◆ winpr_corkscrew_backtrace()

void* winpr_corkscrew_backtrace ( DWORD  size)

WinPR: Windows Portable Runtime WinPR Debugging helpers

Copyright 2022 Armin Novak armin.nosp@m..nov.nosp@m.ak@th.nosp@m.inca.nosp@m.st.co.nosp@m.m Copyright 2022 Thincast Technologies GmbH

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ winpr_corkscrew_backtrace_free()

void winpr_corkscrew_backtrace_free ( void *  buffer)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ winpr_corkscrew_backtrace_symbols()

char** winpr_corkscrew_backtrace_symbols ( void *  buffer,
size_t *  used 
)
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ fkt

t_corkscrew* fkt = NULL
static

◆ initialized

pthread_once_t initialized = PTHREAD_ONCE_INIT
static

◆ support_msg

const char* support_msg = "Invalid stacktrace buffer! check if platform is supported!"
static