[发明专利]报文轨迹追踪方法及装置在审
申请号: | 201610973416.0 | 申请日: | 2016-10-28 |
公开(公告)号: | CN106656559A | 公开(公告)日: | 2017-05-10 |
发明(设计)人: | 高福亮 | 申请(专利权)人: | 汉柏科技有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L12/26 |
代理公司: | 北京路浩知识产权代理有限公司11002 | 代理人: | 李相雨 |
地址: | 300384 天津市滨海新*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 报文 轨迹 追踪 方法 装置 | ||
技术领域
本发明涉及计算机及通信技术领域,尤其涉及一种报文轨迹追踪方法及装置。
背景技术
目前,研发内部定位问题一般使用消除故障程序debug调试版本,获取报文轨迹的方法一般是程序调试工具gdb下通过设置断点然后使用bt命令查看函数调用栈信息,或依次逐层设置目标函数为断点,若目标函数被断住则执行到了该函数,然则反之.
但是gdb调试过程中流量是中断的;现网发布使用的版本一般为release版本,非gdb方式启动不能直接进行gdb调试,并且在不允许流量中断的现网环境调试时一般也无法使用gdb attatch pid的方式进行gdb调试,所以在现网环境出现流量不通或业务功能异常时就无法使用现有技术判断出报文经过的函数调用流程,进而无法确认报文被丢弃在哪一层(二层:物理链路层;三层:传输层;四层及以上:网络层),是接收方向有问题,还是发送方向有问题等。
鉴于此,如何解决在现网环境出现流量不通或业务功能异常时不能获得报文所经函数调用流程的问题成为目前需要解决的技术问题。
发明内容
为解决上述的技术问题,本发明提供一种报文轨迹追踪方法及装置,能够解决在现网环境出现流量不通或业务功能异常时不能获得报文所经函数调用流程的问题。
第一方面,本发明提供一种报文轨迹追踪方法,包括:
在接收到用户输入的预设命令时,判断所述预设命令是否为报文轨迹追踪功能的开启命令,所述开启命令中预先设置了标记报文;
若所述预设命令为报文轨迹追踪功能的开启命令,则在报文流程中依次调用预设宏函数,以获取并展示标记报文在报文流程中经过的文件名、函数名和行号。
可选地,所述预设命令中包括:预设全局变量和预设全局变量指针;
所述预设全局变量为报文轨迹追踪功能开关标志位,所述预设全局变量为第一预设值表示开启报文轨迹追踪功能,所述预设全局变量为第二预设值表示关闭报文轨迹追踪功能;
所述预设全局变量指针,用于在报文轨迹追踪功能开启时记录作为报文追踪对象的标记报文指针,在报文轨迹追踪功能关闭时赋值为空;
所述预设宏函数中预先设置结构体数组并声明所述预设结构体数组的全局变量;所述预设结构体数组的成员,包括但不限于:文件名、函数名和行号。
可选地,所述在报文流程中依次调用预设宏函数,以获取并展示标记报文在报文流程中经过的文件名、函数名和行号,包括:
在报文流程中依次调用预设宏函数,利用所述预设宏函判断当前报文是否为标记报文,若是,则将对应调用所述预设宏函数的文件名、函数名和行号记录进所述预设宏函数中的预设结构体数组的变量中,并将所述预设结构体数组的下标进行累加;
循环遍历所述预设宏函数中的预设结构体数组的全局变量,将标记报文经过的文件名、函数名和行号进行展示。
可选地,所述判断当前报文是否为标记报文,包括:
判断调用后预设宏函数中的入参报文指针是否等于标记报文指针;
若所述入参报文指针等于标记报文指针,则确定当前报文为标记报文。
可选地,所述将对应调用所述预设宏函数的文件名、函数名和行号记录进预设结构体数组的变量中,包括:
借助linux提供的宏,将对应调用所述预设宏函数的文件名、函数名和行号记录进预设结构体数组的变量中。
可选地,在所述获取并展示标记报文在报文流程中经过的文件名、函数名和行号之后,所述方法还包括:
将标记报文的函数调用栈信息与正常报文流程的函数调用栈信息进行对比,确认标记报文所经函数调用流程是否正常并在不正常时定位现网问题。
第二方面,本发明提供一种报文轨迹追踪方法装置,包括:
判断模块,用于在接收到用户输入的预设命令时,判断所述预设命令是否为报文轨迹追踪功能的开启命令,所述开启命令中预先设置了标记报文;
调用模块,用于若所述预设命令为报文轨迹追踪功能的开启命令,则在报文流程中依次调用预设宏函数,以获取并展示标记报文在报文流程中经过的文件名、函数名和行号。
可选地,所述预设命令中包括:预设全局变量和预设全局变量指针;
所述预设全局变量为报文轨迹追踪功能开关标志位,所述预设全局变量为第一预设值表示开启报文轨迹追踪功能,所述预设全局变量为第二预设值表示关闭报文轨迹追踪功能;
所述预设全局变量指针,用于在报文轨迹追踪功能开启时记录作为报文追踪对象的标记报文指针,在报文轨迹追踪功能关闭时赋值为空;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于汉柏科技有限公司,未经汉柏科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610973416.0/2.html,转载请声明来源钻瓜专利网。