调试常用的宏
__FILE__:当前文件名
__FUNCTION__:当前函数名
__LINE__:当前行
__DATE__:含有形式为月/日/年的串,表示源文件被翻译到代码时的日期。
__TIME__:包含程序编译的时间。时间用字符串表示,其形式为: 分:秒
__STDC__:宏指令的意义是编译时定义的。一般来讲,如果__STDC__已经定义,编译器将仅接受不包含任何非标准扩展的标准C/C++代码。如果实现是标准的,则宏__STDC__含有十进制常量1。如果它含有任何其它数,则实现是非标准的。
__cplusplus 与标准c++一致的编译器把它定义为一个包含至少6为的数值。与标准c++不一致的编译器将使用具有5位或更少的数值。
没想到 VC6 不支持 __FUNCTION__
所以我写了如下的奇怪代码
//用来记录当前行和当前函数//也可说是记录 堆栈
void log_stack(const char *file, int line, const char * function);
//当然还要对 __FUNCTION__ 宏作点修饰,因为这个宏只是在函数里面才起作用
//据说 VC6 也是不支持 __FUNCTION__ 的
#ifndef __FUNCTION__
#define __FUNCTION__ "Global"
#endif
#define DEBUG_NEW_HOOK
#ifdef DEBUG_NEW_HOOK
//就是先写跟踪信息再实际调用函数
#define debug_new_check_point(a) log_stack(__FILE__, __LINE__, __FUNCTION__); debug_new_check(a, false)
#define debug_new_check_free(a) log_stack(__FILE__, __LINE__, __FUNCTION__); debug_new_check(a, true)
//#define printfd2(a,b) printf(a,b)
//#define printfd3(a,b,c) printf(a,b,c)
//#define printfd4(a,b,c,d) printf(a,b,c,d)
#else
#endif
分享到:
相关推荐
下面我们将深入探讨Excel中的宏以及259个常用宏代码可能涉及的知识点。 1. **宏的录制与编辑** - 录制宏:在执行一系列操作后,可以通过“开发工具”选项卡中的“录制宏”按钮,让Excel自动记录这些步骤,生成相应...
下面将详细介绍三种常用的 VC 调试宏:TRACE 宏、ASSERT 宏和 VERIFY 宏。 一、TRACE 宏 TRACE 宏是 VC 中的一种调试工具,用于在输出窗口中打印感兴趣的信息。只有在选择了 Debug 目标,并且 afxTraceEnabled ...
在"EXCEL233个常用宏"这个压缩包中,可能包含了一系列预设的宏命令,供用户直接应用或学习。以下是一些关于Excel宏及其相关知识点的详细解释: 1. **宏的创建**:在Excel中,可以通过录制宏来快速创建宏。只需执行...
标题中的“259个常用宏”指的是包含259个预设的VBA宏代码的资源集合,这些宏涵盖了Excel中的各种常见操作。下面将对这些知识点进行详细解释: 1. **宏的录制与编辑**:Excel的宏录制功能可以让用户无须编程基础就能...
本文将详细探讨VB编程中259个常用宏的内涵与应用,为VB开发者提供一个实用的参考指南。 首先,我们需要明确宏在VB编程中的定义和作用。在VB中,宏是一系列预先定义好的操作或函数,它们可以被编写成特定的代码,并...
"iOS常用宏定义framework" 提供了一系列预定义的宏和常用类别方法,旨在提高开发效率并简化代码。下面我们将深入探讨这个框架中的关键知识点。 1. **宏定义(Macro Definitions)**: - 宏定义是C语言的一种预...
本资料包主要聚焦于SourceInsight的常用宏,这些宏是用户自定义的快捷操作,能进一步优化源代码的阅读和编辑体验。** 在SourceInsight中,宏是一种强大的功能,它允许用户通过简单的命令来执行复杂的操作。通过宏,...
### 常用宏介绍 1. `#region` 宏: `#region` 宏用于代码的组织和可视化折叠。通过使用`#region`和`#endregion`,可以将代码块标记为一个可折叠的区域。这个区域可以有自己的名字作为注释,当点击“—”号时,该...
下面将详细介绍C语言中常用的调试宏及其应用。 1. `#define` 宏定义 C语言中的`#define`用于创建宏定义,可以用来替代复杂的表达式或者常量,以简化代码。在调试时,我们可以定义一个开关宏,如`DEBUG`,根据这个...
### VC/MFC 常用宏解析 在深入探讨这些宏之前,我们先来了解下MFC(Microsoft Foundation Classes)的基础知识。MFC是微软提供的一套基于Windows平台的类库,它为开发者提供了大量的封装好的类和函数,极大地简化了...
C语言常用的调试用函数,例如打印参数名和数值、记录日志文件、格式化打印一维和二维数组、二进制信息等。头文件包含:1、常用数据类型别名;2、重定向printf到日志文件,打印信息可选包含行号,便于调试信息追溯;3...
5. **常用宏函数**:例如,`MsgBox`用于弹出对话框显示信息;`Application.Run`用于运行其他宏或子过程;`ActiveCell`引用当前活动单元格;`Range`对象用于操作单元格或单元格范围。 6. **条件语句与循环**:VBA中...
本"Excel宏命令调试安装包"显然是针对WPS系统设计的,用于帮助用户调试和安装VBA(Visual Basic for Applications)宏。 首先,我们要理解什么是VBA。VBA是一种编程语言,内置在Microsoft Office套件(包括Excel)...
- VBA编辑器:在Excel中,可以通过“开发工具”菜单下的“Visual Basic”按钮打开VBA编辑器,这里可以编写、修改和调试宏代码。 - 变量与数据类型:VBA支持多种数据类型,如Integer、Double、String等,用于存储和...
在"常用宏定义"这个主题中,我们将深入探讨几种常见的宏定义及其应用。 1. **常量宏**: 常量宏用于定义不可修改的值,类似于常量。例如,`#define PI 3.14159`,这样我们就可以在代码中使用PI代替圆周率的数值,...
4. 调试与测试:学会如何在PowerMill环境中调试宏,确保其正确无误地执行。 5. 宏的安全性:在使用宏时要注意安全问题,防止病毒或恶意代码的引入,定期备份重要数据。 总的来说,这个压缩包提供了丰富的PowerMill...
3. **调试宏**:Source Insight提供了一个内置的调试器,可以在运行时检查和修改宏的状态。 4. **分配快捷键**:为常用的宏分配快捷键,使其在需要时能够快速调用。 ### 4. 宏实例解析 以下是一些实用的宏示例: ...
Linux 驱动程序调试的常用方法 Linux 驱动程序开发中,调试是一个非常重要的环节。由于驱动程序运行在内核模式下,对其进行调试存在一定的困难。因此,掌握常用的调试手段对于驱动程序开发者来说非常重要。本文将...
宏是C语言中常用的一种预处理指令,用于定义常量或简单的函数。但在调试时,宏可能会导致某些问题难以追踪。因此,在使用GDB调试包含宏的代码时,需要注意以下几点: - **查看宏定义**:使用`info macros`命令可以...