gdb watch

1. watch 变量

 

gdb attach 16148

handle SIG35 SIGUSR2 noprint nostop

watch  GyTable[3680].HOB_no 

c

bt

n

 

2. watch 地址

 

有时候变量是一层层函数传递的,退出当前函数后就没法watch了,此时可以直接watch地址。

把地址强转成对应的结构。

如下:进入断点2后,直接watch入参地址。

Breakpoint 2, sp_set_dust_for_gik (pst_glavor_info_node=0x7f5bd09afa98, d_var=4068.2671606842637) at sg/sp_var.c:794

794     sg/sp_var.c: No such file or directory.

(gdb) p pst_glavor_info_node->m_num

$4 = 0

(gdb) watch ((st_sp_glavor_info_node*)(0x7f5bd09afa98))->m_num

Hardware watchpoint 3: ((st_sp_glavor_info_node*)(0x7f5bd09afa98))->m_num

(gdb) c

Continuing.

Hardware watchpoint 3: ((st_sp_glavor_info_node*)(0x7f5bd09afa98))->m_num

 

Old value = 0

New value = 1

sp_set_dust_for_gik (pst_glavor_info_node=0x7f5bd09afa98, d_var=4068.2671606842637) at sg/sp_var.c:813

posted on 2019-12-30 16:37  Zachagy  阅读(219)  评论(0)    收藏  举报