下面是一个使用装饰器来自动打印函数名和行号的示例。 importinspectdefdebug(func):defwrapper(*args,**kwargs):# 获取当前帧信息frame=inspect.currentframe()info=inspect.getframeinfo(frame)print(f"正在调用函数:{info.function}, 行号:{info.lineno}")returnfunc(*args,**kwargs)returnwrapperclassDebugInfo:...
要在需要打印函数名和行号的函数上添加装饰器,只需要在函数定义的上方加上@print_func_info即可。 @print_func_infodefmy_function():# 函数体pass 1. 2. 3. 4. 在上述代码中,我们使用装饰器@print_func_info修饰了函数my_function。这样,在每次调用my_function时,都会先打印出函数名和行号的信息。 6. 完...
获取当前行号和函数名: 使用__LINE__宏来获取当前的行号。 使用__func__宏来获取当前的函数名(C99标准引入)。 格式化输出字符串: 使用printf函数,结合上述两个宏,来格式化输出字符串。 使用printf函数打印格式化后的字符串。 下面是一个示例代码片段,展示了如何实现这一点: c #include <stdio.h> vo...
就一行代码 #define MY_PRINT(fmt, ...) printf("[%s:%d] " fmt "\n", __FILE__, __LINE__, ##__VA_ARGS__);
51CTO学堂为您提供C语言调试技巧:利用宏打印文件名、函数名和行号嵌入式软件调试技术专题(2):printf打印高阶技巧视频课程等各种IT领域实战培训课程视频及精品班培训课程
ulog支持打印调用所在的函数以及文件和行数. 如果一起都打印出来会导致日志内容过场,可以分别定义三个宏,用户可以自由决定开启打印 函数 文件名 行数 mysterywolfadded thegood first issuelabelJun 26, 2023 Contributor polarvidcommentedJul 23, 2023•
Swift-Debug下打印函数名和行数 1.Build Settings ->搜索 Swift compiler -> OTHER_SWIFT_FLAGS = -D DEBUG 2.设置DEBUG函数 配置好后就可以愉快的进行调试输出了!
_FILE__, __LINE__2009-12-03 22:35 printf("%s\nLine %d:\n", __FILE__, __LINE__);打印当前语句在源文件中的行号和源文件名。define debug_msg (printf("%s[%d]:", __FILE__, __LINE__), printf)在程序中某行处输出调试信息。__func__ 获得当前函数名 ...
匿名函数) var fn = function(){} 方式3 new Function( '参数1', '参数2',' 函数体')...
printf("File:%s Line:%d Function:%s", __FILE__, __LINE__, __FUNCTION__);