2.1.4 gdb
文章平均质量分 60
2.1.4 gdb
vimer-hz
书是越读越薄的
展开
-
[Debugging With GDB]8 查看数据
print exprprint /f expr选择不同的格式x内存值ptype expr数据类型8.1 表达式@二进制操作符,将一块内存作为数组::指定一个文件或函数里定义的变量{type} addr引用存储于addr位置上的type类型的对象8.2 程序变量指定一个特定文件或函数的静态变量,用双冒号(::)标记:file::variablefunction::variablep 'f2.c'::x8.3 伪数...转载 2021-02-22 00:31:40 · 85 阅读 · 0 评论 -
[Debugging With GDB]7 检查源文件
7.1 打印源代码行list默认一次打印10行list linenum以当前行为中心,打印当前源文件linenum行list function以function为中心打印源文件,默认10行list打印更多行list first,last从first打印到lastset listsize count设置list显示的行数show listsize7.2 指定位置filename:linenamefilename:function...转载 2021-02-22 00:31:05 · 126 阅读 · 0 评论 -
[Debugging With GDB]6 检查栈
6.1 堆栈帧每当一个函数被调用了,就会产生一个新的堆栈帧。GDB为所有现存的堆栈帧编号,从最内层帧0开始,调用此函数的帧1...info frameframe args切换到args对应的堆栈帧上,args帧地址或帧号6.2 回溯bt | where | info stack显示多个或所有线程的回溯:thread apply all backtraceshow backtrace limit显示当前回溯层限制set backtrace l...转载 2021-02-22 00:29:05 · 101 阅读 · 0 评论 -
[Debugging With GDB]5 中断和继续
info program 显示程序状态信息:是否在运行,什么进程,为何中断。5.1 断点,监视点,捕获点断点:以行号,函数名或程序的绝对地址中断,某些系统可以在可执行程序运行前,在共享库里设置断点。监视点:特殊的断点,在表达式的值改变的时候中断程序。捕获点:特殊的断点,用来在某些事件发生时中断程序。5.1.1 设置断点break locationbreak ...ifcond带参数设置断点:在每次断点时计算cond表达式,且当表达式为真(表达式不为0...转载 2021-02-22 00:28:14 · 1161 阅读 · 0 评论 -
[Debugging With GDB]4 在GDB里运行程序
4.1 为调试而编译-g-g -o 编译器优化,有些没用过的变量可能被优化掉run | r4.3 程序参数gdb --args test 111show args 显示在启动时传入的参数set args 为你的下一次执行程序设置参数set args 1114.4 程序环境show paths 显示当前PATHpath directory 新增路径到PATHsh...转载 2021-02-22 00:24:46 · 423 阅读 · 0 评论 -
[Debugging With GDB]2 进入和离开GDB
2.1 调用GDBgdb programgdb program coregdb program pidgdb -args test 111 gdb传递参数给被调试的可执行程序gdb -help2.1.1 选择文件--args Arguments after executable-file are passed to inferior--core=COREFILE Analyze the core dump COREFILE...转载 2021-02-22 00:13:12 · 243 阅读 · 0 评论 -
[Debugging With GDB]1 一个GDB会话样例
1 一个GDB会话样例转载 2021-02-21 14:27:19 · 124 阅读 · 0 评论 -
gdb如何从堆栈破坏的堆栈中定位问题(ucontext_t)
对于大多数堆栈破坏的情况没有有效方法,只能缩小问题代码范围,不断测试复现,找出容易复现的方式,一步步解决。但是有一种情况,如果你的堆栈破坏了,但是有ucontext_t进程上下文信息,那么是可以继续分析的!本文介绍了堆栈破坏但有ucontext_t进程上下文信息的前提下用gdb调试定位问题的过程。(1)使用带有debug信息的动态库(SDL,X11)todoCSDN文章链接(2)查看log的Stack traceSegmentation fault(Invalid ...原创 2021-04-05 12:21:52 · 3075 阅读 · 0 评论 -
gdb常用总结
前提:使用的是带debug信息的动态库1 info(1)types 查看该类型符号是否存在,若存在显示该类型符号相关信息info types SDL_WindowDatainfo types ucontext_t(2)functions 打印函数的相关信息info functions X11_DispatchFocusIn(3)sharedlibrary打印所有动态库info sharedlibrary(4)info address 函数名inf...原创 2021-03-29 22:42:53 · 532 阅读 · 1 评论