最近遇到个bug,数据回档一天,查找发现是数据没有存盘成功造成的,还好用gcore留了尸体,至于为什么存盘不成功我这里不探讨了,主要是从core文件要恢复这一天的数据,里面有些存盘还是挺重要的,调试进去发现需要把一个list中的数据恢复到数据库中,这样我需要根据内存数据写一份SQL脚本来恢复,首先这个list不是stl的list,网上可以搜索gdb扩展开发相关
>>vi gdb.conf
脚本内容如下
define p_list //定义
set logging file /data/log.log #调试信息重定向到/data/log.log 文件中
set logging on #打开重定向功能
if $argc==1 #argc是参数个数
set $list = $arg0 #arg0就是第一个参数了,arg1为第二个,依次类推
set $head=$list.head
set $current=($list.head.next)
set $size=$list.nSize
set $i=0
while $i&