随笔分类 -  gdb

摘要:字符串条件断点 (gdb) break my_function (gdb) condition <breakpoint_number> (int)strcmp(my_string.c_str(), "target_value") == 0 set environment NDEBUG 1: 取消as 阅读全文
posted @ 2024-08-14 11:08 绍荣 阅读(9) 评论(0) 推荐(0) 编辑
摘要:1 目录 2 corrupt stack? 3 info registers 4 (gdb)x的使用 5 X86上崩溃 6 调试线程 1 目录 1.1 目录指定dir 在GDB中使用dir命令来添加新的源代码路径。这个命令允许我指定一个或多个目录,GDB会在这些目录中查找源代码文件。 gdb ./y 阅读全文
posted @ 2024-07-29 09:40 绍荣 阅读(362) 评论(0) 推荐(0) 编辑
摘要:在Ubuntu下交叉编译ARMv7l下带符号表的release版并分析带剥离符号表的core文件 所谓交叉编译工具,就是让我们可以在Ubuntu或Windows上,通过交叉编译工具,生成其它系统下可执行的可执行文件。而这个交叉编译工具,就具备来交叉的功能属性,即输入口为Ubuntu或Widnows上 阅读全文
posted @ 2024-07-17 16:23 绍荣 阅读(125) 评论(0) 推荐(0) 编辑
摘要:1 随时收录 gdb 调试时符号文件在哪里? 若是指定为CMAKE_BUILD_TYPE=Debug,那么符号文件会嵌入到可执行文件中; 如Debug编译产生的文件不能显示源代码,可以再执行以便cmake和make,因为有可能在某种情况下,编译会出错。 如何定位动态库中的代码 在gdb调试时,只有让 阅读全文
posted @ 2024-07-16 15:42 绍荣 阅读(510) 评论(0) 推荐(0) 编辑
摘要:1 在Ubuntu上调试ARMv7的core文件 1.1 预备 uname -a: 获得目前嵌入式系统 Linux (none) 3.8.11-xilinx #40 SMP PREEMPT Thu Jan 12 17:02:11 CST 2023 armv7l GNU/Linux 安装armv7的交 阅读全文
posted @ 2024-07-10 17:40 绍荣 阅读(82) 评论(0) 推荐(0) 编辑
摘要:断点 条件断点 condition 1 value==1: 此次的1表示break的编号,之后的value==1表示条件判断;即在value为1时,命中编号为1的断点; ignore 1 4: 忽略断点为1的前4次命中,第5次开始,就需要命中; d br: 删除所有的断点 打印 p /t var-n 阅读全文
posted @ 2024-07-08 16:37 绍荣 阅读(9) 评论(0) 推荐(0) 编辑
摘要:当程序运行,提示 Segmentation fault (core dumped) 表明发生了崩溃。 通过gdb ./可运行程序,通过调试获得崩溃的地方, 通过backtrace获得函数调用栈帧, 再通过frame查看具体一层的栈信息, 再通过print查看该栈的具体定位的那一行, 再将该行的变量都 阅读全文
posted @ 2022-01-23 19:57 绍荣 阅读(69) 评论(0) 推荐(0) 编辑
摘要:help(h):查看命令帮助,具体查询可在gdb中输入h + 命令, run&start run: 重新开始运行文件; run argv[1] argv[2]: start:单步执行,运行程序,停在第一执行语句; list(l):查看源代码 l n:从第n行开始查看代码,一般会展现n行上下文; l 阅读全文
posted @ 2021-08-28 13:51 绍荣 阅读(695) 评论(0) 推荐(0) 编辑
摘要:gcc -g -o test test.c gdb 或 gdb ./test (gdb) file ./test (gdb) r Hello, World! 调试代码: run(r):运行代码 next(n):单步跟踪,函数调用当作一条简单语句执行 step(s):单步跟踪,函数进入被调用函数体内 阅读全文
posted @ 2020-07-25 15:28 绍荣 阅读(269) 评论(0) 推荐(0) 编辑