栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

使用 rr 进行debug

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用 rr 进行debug

使用 rr 进行debug
  • 简介
    • 关键词
  • 安装
    • 编译源文件方法
    • Fedora:
    • ubuntu
    • arch
  • 使用
    • 开始
    • 回放刚才的运行过程
    • 反向debug
    • 记录观察点

简介 关键词
  • 保留某一次的运行错误
  • 对错误可以反复执行
  • 可以反向执行(这个猛)
  • 操作和gdb没啥区别

rr aspires to be your primary C/C++ debugging tool for Linux, replacing — well, enhancing — gdb. You record a failure once, then debug the recording, deterministically, as many times as you want. The same execution is replayed every time.
rr also provides efficient reverse execution under gdb. Set breakpoints and data watchpoints and quickly reverse-execute to where they were hit.
rr works on real applications and is used by many developers to fix real bugs. It makes debugging hard bugs much easier, but also speeds up debugging of easy bugs.

rr 渴望成为 Linux 的主要 C/C++ 调试工具,取代——嗯,增强——gdb。您记录一次失败,然后确定性地根据需要多次调试记录。每次都重播相同的执行。
rr 还提供了 gdb 下的高效反向执行。设置断点和数据观察点并快速反向执行到它们被击中的地方。
rr 适用于实际应用程序,许多开发人员使用它来修复实际错误。它使调试困难的错误变得更加容易,但也加快了对简单错误的调试。

翻译自官网

安装

不同系统有不同安装方式,参见:

编译源文件方法

github指南

Fedora:
cd /tmp
wget https://github.com/rr-debugger/rr/releases/download/5.5.0/rr-5.5.0-Linux-$(uname -m).rpm
sudo dnf install rr-5.5.0-Linux-$(uname -m).rpm
ubuntu
cd /tmp
wget https://github.com/rr-debugger/rr/releases/download/5.5.0/rr-5.5.0-Linux-$(uname -m).deb
sudo dpkg -i rr-5.5.0-Linux-$(uname -m).deb
arch

yay 搜索一下安装即可,这个最简单。

使用 开始

对于某个程序,只需要输入

rr record /your/application --args

对于rosrun这种运行方式,可以通过

rosrun --prefix 'rr record' your/node

来进行。

回放刚才的运行过程
rr replay

进入回放。replay后的调试操作和debug一样。

反向debug

设置断点后,运行到断点后的某处,使用rc,即reverse continue,即可反向运行到之前的断点处。
‘rn’ 即reverse next, 即可逆向gdb的next进行反向回退。

记录观察点

watch -l 变量
可以实时观察这一变量是否发生变化,有变化立刻停止,十分便于观察各种隐含错误。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/513148.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号