(1)linux下文本操作以及log相关内容可视化
首先获取日志文件,然后使用linux的awk工具抽取包含某字段的整行日志并保存到文件
这时候,xxx.log文件中只会包含某些特定的行,但是其实你只需要行里面的某一列(比如打印的函数耗时),注意行号是从1开始的。
此时就可以使用kst2工具将里面的内容可视化了(注意kst的列号也是从1开始的)。
(2)高效的离线调试手段
在跑slam的长数据集的时候,需要花比较长的时间来看ros的可视化,可以采用下面的方法提高效率。使用Kazam录制屏幕,使用sm-player对录制的视频进行回放。sm-player能够对视频进行加速播放。
安装Kazam和sm-player的命令如下
Kazam录制视频的方法很简单,这里就不介绍了。下面介绍下smplayer回放功能,打开smplayer,然后点击Open,选择File,点击播放,快进的快捷键为“]”,慢进的快捷键为“[”,快速切换到正常速度的快捷键为"Backspace"也就是删除键。
(3)valgrind内存分析
使用valgrind检查内存占用
使用massif-visualizer对内存分析的结果进行可视化。首先启动massif-visualizer,然后打开log文件就可以了。
massif-visualizer的安装命令如下:
(4)valgrind代码耗时分析
可以检查不同函数对cpu资源的使用情况
生成的.out文件用kcachegrind可视化查看