随笔分类 -  调试器

摘要:ubuntu18.04环境下编译支持debuginfod的gdb 介绍 Ubuntu 22.10 版本才默认安装debuginfod,对于之前的发行版都需要手动配置。gdb从10.1版本才开始支持debuginfod,而Ubuntu旧的发行版里gdb都低于10.1版本。另外,debuginfod被包 阅读全文
posted @ 2023-10-14 20:21 刘跑跑 阅读(927) 评论(0) 推荐(0) 编辑
摘要:gdb是一款强大的调试工具,可以帮助程序员定位和解决段错误等问题。根据不同场景,以下是使用gdb调试段错误的几种方法: 调试可执行程序:在命令行中输入“gdb 可执行程序名称”,然后使用“run”命令运行程序。如果程序出现段错误,gdb会停止程序并显示出错信息,可以使用“backtrace”命令查看 阅读全文
posted @ 2023-05-31 17:12 刘跑跑 阅读(1373) 评论(0) 推荐(0) 编辑
摘要:## 命令汇总 |命令|作用| | | | |info inferiors|查看所有进程| |inferiors 2|切换到编号为2的进程| |detach inferiors 2|detach掉编号为2的进程| |kill inferiors 2|kill掉编号为2的进程| |set follow 阅读全文
posted @ 2022-12-29 09:48 刘跑跑 阅读(1439) 评论(0) 推荐(0) 编辑
摘要:GDB插件汇总 |插件|介绍| | | | |GEF|扩充GDB功能的python脚本| |Pwndbg|强大的GDB功能扩展插件,工具众多| |gdb-dashboard|增强gdb功能界面| |gdbgui|gdb浏览器前端调试界面| 插件1:GEF GEF介绍 GEF (GDB Enhance 阅读全文
posted @ 2022-12-29 09:47 刘跑跑 阅读(6400) 评论(0) 推荐(0) 编辑
摘要:## 反向调试命令汇总 |命令|作用| | | | |record|开启记录模式| |record stop|停止记录| |bookmark|设置执行标签| |info bookmarks|查看标签| |goto-bookmark num|跳到num编号的标签| |reverse-step (rs) 阅读全文
posted @ 2022-12-29 09:43 刘跑跑 阅读(553) 评论(0) 推荐(0) 编辑
摘要:问题 报错情况类似如下: /home/loongson/下载/flightgear/flightgear-2019.1.1/src/Scripting/NasalCanvas.cxx:137:(.text+0x6d0): 截断重寻址至相符: R_MIPS_CALL16 针对 std::__cxx11 阅读全文
posted @ 2022-06-07 15:52 刘跑跑 阅读(315) 评论(0) 推荐(0) 编辑
摘要:需求 有时候身边只有 x86 架构的硬件环境,却想学习和测试 arm、mips 等其他架构特性,此时怎么办呢?众所周知,VMware 只能模拟同架构不同操作系统,对此可以通过 qemu 实现跨架构模拟。 安装 qemu-user qemu 是一个支持跨平台虚拟化的虚拟机,有 user mode 和 阅读全文
posted @ 2022-05-08 15:49 刘跑跑 阅读(2852) 评论(0) 推荐(0) 编辑
摘要:1. set follow-fork-mode [parent|child] gdb 默认设置是 parent,可用使用show follow-fork-mode 来查询当前fork模式。 如果想要调试子进程,进入gdb后设置 set follow-fork-mode child 然后再设置子进程里 阅读全文
posted @ 2022-04-18 11:22 刘跑跑 阅读(322) 评论(0) 推荐(0) 编辑
摘要:watchpoint介绍 watchpoint(观察点): 很多情况下,程序的bug是由于某个变量或地址被莫名修改而导致的,但是具体什么时候修改了该值,我们很难定位到。使用传统的方法只能一步一步去调试跟踪程序,伤神费力,调试效率特别低。 gdb提供了观察点watchpoint功能,可以监控程序中变量 阅读全文
posted @ 2022-04-09 22:20 刘跑跑 阅读(3949) 评论(0) 推荐(0) 编辑
摘要:安装 go 1. 下载 go 二进制 这里选择安装 go 1.14.1 版本,直接下载官方的二进制,解压后直接就可以用,非常方便,下载链接为 go1.14.1.linux-amd64.tar.gz: https://golang.google.cn/dl/go1.14.1.linux-amd64.t 阅读全文
posted @ 2022-03-25 22:55 刘跑跑 阅读(1015) 评论(0) 推荐(0) 编辑
摘要:1. ptrace 函数的声明: #include <sys/ptrace.h> long ptrace(enum __ptrace_request request, pid_t pid, void *addr, void *data); ptrace有四个参数: 1). enum __ptrace 阅读全文
posted @ 2022-03-19 14:09 刘跑跑 阅读(805) 评论(0) 推荐(0) 编辑
摘要:《gdb小技巧》汇总(点这里查看) 信息显示 显示gdb版本信息 显示gdb版权相关信息 启动时不显示提示信息 退出时不显示提示信息 输出信息多时不会暂停输出 函数 列出函数的名字 是否进入带调试信息的函数 进入不带调试信息的函数 退出正在调试的函数 直接执行函数 打印函数堆栈帧信息 打印尾调用堆栈 阅读全文
posted @ 2022-03-19 13:55 刘跑跑 阅读(44) 评论(0) 推荐(0) 编辑
摘要:lldb 测试时报错 lacks a functioning sem_open implementation 报错: ImportError: This platform lacks a functioning sem_open implementation, therefore, the requ 阅读全文
posted @ 2022-03-13 17:43 刘跑跑 阅读(176) 评论(0) 推荐(0) 编辑

more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示