全部分类
移动开发与应用
WEB前端
架构与运维
程序设计
数据库
操作系统
热点技术
综合
使用gdb进行日志切分
9664阅读 0评论
2011-09-09
CUDev
分类:
C/C++
昨天一个同事说op想用gdb来进行日志切分,来提高且分的效率。这里先说一下,我们的日志切分实现。之前的日志切分是靠crontab脚本定期mv来实现的,日志库在写日志的时候能够检测到日志文件不存在了,就会自动按照之前的文件名来创建新的文件来写入。这种方法需要在写入日志的时候进行额外检查。
使用gdb的话,其实很简单,找到日志文件句柄,close掉,rename之前的日志文件,open按照之前的名字创建文件。由于open返回的fd会占用之前的关闭的fd,因此可以不用dup来复制fd。
这里面主要用到就是gdb call。GDB 提供的 call 命令允许调试者在当前函数调用栈的栈顶调用函数,犹如在被调试的程序中执行的一般。
参考中gdb attach到运行的程序上,然后把标准输出重定向也是这个思路。
参考:
http://www.ibm.com/developerworks/cn/linux/l-cn-redirect/index.html
上一篇:
google v8使用示例
下一篇:
libutp使用小记