如何在GDB脚本中设置带YYMMDD_HHMMSS时间戳的日志文件?
在GDB中配置带时间戳的日志文件名
GDB本身的set logging file命令不直接支持自动生成时间戳文件名,但可以借助系统shell的命令替换功能实现,具体有两种简单的写法:
方法一:直接通过shell命令替换生成文件名
在GDB脚本里直接嵌入shell的date命令生成时间戳,命令替换用反引号包裹:
set logging file logger_`date +%y%m%d_%H%M%S`.log set logging on
这种写法依赖GDB启动时使用的shell支持命令替换(比如bash),运行后会自动生成类似logger_240520_143025.log的日志文件。
方法二:借助临时文件传递文件名(兼容性更强)
如果担心shell环境的兼容性,可以先把生成的时间戳文件名写入临时文件,再读取设置:
# 生成带时间戳的文件名并写入临时文件 shell echo "logger_$(date +%y%m%d_%H%M%S).log" > /tmp/gdb_log.tmp # 读取临时文件内容作为日志文件名 set logging file `cat /tmp/gdb_log.tmp` set logging on # 清理临时文件(可选) shell rm /tmp/gdb_log.tmp
时间格式调整
你可以修改date命令的参数来调整时间戳格式:
- 用
%Y替换%y可以生成四位年份,比如logger_20240520_143025.log - 调整顺序或者加入分隔符,比如
date +%Y-%m-%d_%H-%M-%S会生成logger_2024-05-20_14-30-25.log
内容的提问来源于stack exchange,提问作者python3.789
相关产品推荐
相关产品推荐

