b.借助栈帧的地址指定。栈帧地址可以通过info frame命令打印出的信息中看到;c.通过函数的函数名指定。...
(gdb) info register //列出寄存器(gdb) info frame //列出栈帧 (gdb) info files //列出当前文件 (gdb) info share //列出当前共享库 3.4 修改程序执行相关参数 1、程序运行参数 set args 可指定运行时参数。如: (gdb)set args 10 20 30 40 50 (gdb)show args 命令可以查看设置好的运行参数。 2、...
6 return num*func(num-1); (gdb) frame 1 <-- 当编号为 1 的栈帧作为当前栈帧 #1 0x00000000004004e9 in func (num=5) at main.c:6 6 return num*func(num-1); (gdb) info frame <-- 打印 1 号栈帧的详细信息 Stack level 1, frame at 0x7fffffffe260: rip = 0x4004e9 in func (main...
info locals:显示当前堆栈帧中的所有局部变量。 (gdb) info locals 查看全局变量 info variables:显示所有全局变量。 (gdb) info variables 设置变量 set:设置变量的值。 (gdb)setvar x = 10 堆栈操作 查看调用堆栈 backtrace:显示当前调用堆栈,简写为bt。 (gdb) backtrace (gdb) bt 切换到指定堆栈帧 frame:切...
(gdb) info frame //列出栈帧 (gdb) info files //列出当前文件 (gdb) info share //列出当前共享库 1. 2. 3. 4. 5. 3.4 修改程序执行相关参数 1、程序运行参数 set args 可指定运行时参数。如: AI检测代码解析 (gdb)set args 10 20 30 40 50 ...
info b:查看断点信息表 b20ifi=5: 设置条件断点。 ptype:查看变量类型。 bt:列出当前程序正存活着的栈帧。 frame: 根据栈帧编号,切换栈帧。 display:设置跟踪变量 undisplay:取消设置跟踪变量。 使用跟踪变量的编号 四、案例说明 1、将上述 main 函数做如下修改,制造段错误 ...
info breakpoints location <address>#显示指定地址上设置的断点信息。infobreak<breakpoint_number>#显示指定编号的断点信息。info line <filename>:<line>#显示指定文件和行号的源代码信息。 2.5 多线程调试 info thread#命令查看当前线程的信息info threads#命令查看...
info locals 打印出当前函数中所有局部变量及其值 info stack 查看栈中信息 info frame 更详细的栈层地址信息 info args 查看参数信息 info registers/info all-registers 查看(所有)寄存器信息 info sources 查看项目的源代码信息 4.维护breakpoint:disable/enable/clear/delete ...
4、查看断点信息表 info b 5、栈帧 frame 栈帧用来存储函数的变量值等信息,默认情况下,GDB 总是位于当前正在执行函数对应栈帧的上下文中。 在前面的例子中,由于当前正在 myprint函数中执行,GDB 位于第0帧的上下文中。可以通过 frame 命令来获取当前正在执行的上下文所在的帧。
这些所有的栈帧都存放在内存中的栈区。通过命令info frame可以查看当前使用的栈帧所存储的信息,这里面包含了栈帧编号、栈帧地址、调用者、源码编程语言等信息。通过命令frame num、up、down可以选的改变栈帧。 查看当前所有栈帧bt (27)x 查看内存 同样可以指定按什么格式查看。