今天看啥  ›  专栏  ›  青衣十三楼飞花堂

Linux中Time Travel Debugging (TTD)

青衣十三楼飞花堂  · 公众号  ·  · 2024-09-19 23:59
    

文章预览

创建: 2024-09-14 16:54 更新: 2024-09-19 12:14 https://scz.617.cn/unix/202409141654.txt 目录:     ☆ 背景介绍     ☆ 测试用例     ☆ GDB原生反向执行     ☆ rr         1) 编译rr源码         2) 检查rr可用性         3) 测试rr     ☆ UDB     ☆ 讨论 ☆ 背景介绍 Windows有相当成熟的Time Travel Debugging (TTD)工具,Linux也有类似的,比如rr、UDB等。但GDB原生反向执行算不得TTD,不能脱离目标进程存在,不能反复鞭尸。 本文以同一个测试用例简单演示这三种技术,它们的共同点是,反向执行相关命令几乎一样,尽管实现原理并不相同。 本文假设读者具有GDB调试基础,未做任何前置科普。 ☆ 测试用例 这是Frank Tetzel提供的一个测试用例: int   main   (  int  argc,  char  * argv[] ) {      unsigned   int      array [ 32 ];      unsigned   int     i;      f ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览