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
浙公网安备 33010602011771号