⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 debug.h

📁 cygwin, 著名的在win32下模拟unix操作系统的东东
💻 H
字号:
/* debug.h   Copyright 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.This software is a copyrighted work licensed under the terms of theCygwin license.  Please consult the file "CYGWIN_LICENSE" fordetails. */#ifndef MALLOC_DEBUG#define MALLOC_CHECK do {} while (0)#else#include <stdlib.h>#include "dlmalloc.h"#define MALLOC_CHECK ({\  debug_printf ("checking malloc pool");\  (void)mallinfo ();\})#endifextern "C" {DWORD __stdcall WFSO (HANDLE, DWORD) __attribute__ ((regparm(2)));DWORD __stdcall WFMO (DWORD, CONST HANDLE *, BOOL, DWORD) __attribute__ ((regparm(3)));}#define WaitForSingleObject WFSO#define WaitForMultipleObjects WFMO#if !defined(_DEBUG_H_)#define _DEBUG_H_#define being_debugged() \  (IsDebuggerPresent () /* || GetLastError () == ERROR_PROC_NOT_FOUND*/)#ifndef DEBUGGING# define cygbench(s)# define ForceCloseHandle CloseHandle# define ForceCloseHandle1(h, n) CloseHandle (h)# define ForceCloseHandle2(h, n) CloseHandle (h)# define ProtectHandle(h) do {} while (0)# define ProtectHandle1(h,n) do {} while (0)# define ProtectHandle2(h,n) do {} while (0)# define ProtectHandleINH(h) do {} while (0)# define ProtectHandle1INH(h,n) do {} while (0)# define ProtectHandle2INH(h,n) do {} while (0)# define debug_init() do {} while (0)# define setclexec(h, nh, b) do {} while (0)# define debug_fixup_after_fork_exec() do {} while (0)#else# ifdef NO_DEBUG_DEFINES#   undef NO_DEBUG_DEFINES# else#   define CloseHandle(h) \	close_handle (__PRETTY_FUNCTION__, __LINE__, (h), #h, FALSE)#   define ForceCloseHandle(h) \	close_handle (__PRETTY_FUNCTION__, __LINE__, (h), #h, TRUE)#   define ForceCloseHandle1(h,n) \	close_handle (__PRETTY_FUNCTION__, __LINE__, (h), #n, TRUE)#   define ForceCloseHandle2(h,n) \	close_handle (__PRETTY_FUNCTION__, __LINE__, (h), n, TRUE)# endif# define ProtectHandle(h) add_handle (__PRETTY_FUNCTION__, __LINE__, (h), #h)# define ProtectHandle1(h, n) add_handle (__PRETTY_FUNCTION__, __LINE__, (h), #n)# define ProtectHandle2(h, n) add_handle (__PRETTY_FUNCTION__, __LINE__, (h), n)# define ProtectHandleINH(h) add_handle (__PRETTY_FUNCTION__, __LINE__, (h), #h, 1)# define ProtectHandle1INH(h, n) add_handle (__PRETTY_FUNCTION__, __LINE__, (h), #n, 1)# define ProtectHandle2INH(h, n) add_handle (__PRETTY_FUNCTION__, __LINE__, (h), n, 1)void debug_init ();void __stdcall add_handle (const char *, int, HANDLE, const char *, bool = false)  __attribute__ ((regparm (3)));BOOL __stdcall close_handle (const char *, int, HANDLE, const char *, BOOL)  __attribute__ ((regparm (3)));void __stdcall cygbench (const char *s) __attribute__ ((regparm (1)));extern "C" void console_printf (const char *fmt,...);void setclexec (HANDLE, HANDLE, bool);void debug_fixup_after_fork_exec ();extern int pinger;struct handle_list  {    HANDLE h;    const char *name;    const char *func;    int ln;    bool inherited;    DWORD pid;    struct handle_list *next;  };#endif /*DEBUGGING*/#endif /*_DEBUG_H_*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -