和print 命令一样,display 命令也用于调试阶段查看某个变量或表达式的值,它们的区别是,使用 display 命令查看变量或表达式的值,每当程序暂停执行(例如单步执行)时,GDB 调试器都会自动帮我们打印出来,而 print 命令则不会。 display 命令没有缩写形式,常用的语法格式如下 2 种: (gdb) display expr (gdb) display/...
(gdb) display/20i $pc3: x/20i $pc=>0x3ffffff090: csrw satp,a10x3ffffff094: sfence.vma0x3ffffff098: ld t0,112(a0)0x3ffffff09c: csrw sscratch,t00x3ffffff0a0: ld ra,40(a0)0x3ffffff0a4: ld sp,48(a0)0x3ffffff0a8: ld gp,56(a0)0x3ffffff0ac: ld tp,64(a0)0x3ffffff0b0...
ptype 变量名,显示变量类型。 display 变量名,display /fmt 变量名,跟踪式查看一个变量,即程序每次暂停的时候都会显示这个变量。 i display,查看设置过的自动显示变量表达式表。 disable|enable display 1,禁用/启动display 1。 undisplay 1,或者d dispaly 1,删除display 1 info symbol 地址,根据地址打印变量名称 ...
相关的GDB命令是display。 display 变量名 info display -- 查看display设置的自动显示的信息。 undisplay num(info display时显示的编号) delete display dnums… -- 删除自动显示,dnums意为所设置好了的自动显式的编号。如果要同时删除几个,编号可以用空格分隔,如果要删除一个范围内的编号,可以用减号表示(如:2...
相关的GDB命令是display。 display display/ display/expr是一个表达式,fmt表示显示的格式,addr表示内存地址,当你用display设定好了一个或多个表达式后,只要你的程序被停下来,GDB会自动显示你所设置的这些表达式的值。 格式i和s同样被display支持,一个非常有用的命令是: display/i $pc $pc是GDB的环境变量,表示着...
display 命令 对于debug需要关注的变量名,可以使用display打印出来。每次gdb操作的时候,都会显示出来。示意图如下: info命令 info sharedlibrary#显示共享库(gdb)info sharedlibrary From To Syms Read Shared Object Library 0x00007ffff7dd5050 0x00007ffff7df4854 Yes(*)/lib64/ld-linux-x86-64.so.2 ...
expr是一个表达式,fmt表示显示的格式,addr表示内存地址,当你用display设定好了一个或多个表达式后,只要你的程序被停下来,GDB会自动显示你所设置的这些表达式的值。 格式i和s同样被display支持,一个非常有用的命令是: display/i $pc undisplay delete display ...
display:设置跟踪变量 undisplay:取消设置跟踪变量。 使用跟踪变量的编号 四、案例说明 1、将上述 main 函数做如下修改,制造段错误 代码语言:javascript 复制 intmain(void){int i=0;char*p="TEST";printf("hello world\n");p[0]='Q';for(i=0;i<10;i++){myprint(i);}} ...
gdb 那么我们话不多说,开启今天的话题!✈️ gdb背景 ● 我们知道,程序的发布方式有两种:dubug模式 和 release模式 。● Linux gcc/g++编译出来的 二进制程序 ,默认是release模式 。● 要使用gdb调试工具,必须在源代码上生成二进制程序的时候,加上 -g 选项。为了能够控制在源码生成二进制程序的时候加上...
和print 命令一样,display 命令也用于调试阶段查看某个变量或表达式的值,它们的区别是,使用 display 命令查看变量或表达式的值,每当程序暂停执行(例如单步执行)时,GDB 调试器都会自动帮我们打印出来,而 print 命令则不会。格式如下"display expr"、"display/fmt expr"; ...