Hi-*_*gel 3 stack-overflow debugging gdb breakpoints buffer-overflow
我正在尝试检测某些函数中的堆栈溢出,并希望将观察点设置为RSP寄存器指向的内存.我不能只将一个观察点设置到某个地址,因为可以从不同的地方调用该函数.所以我想在函数的开始和结束时设置断点,并强制它们启用/禁用观察点.
但是设置观察点的方式都不适合我.例如,wa $rsp
观看登记册; 该
set $myvar = $rsp
wa $myvar
Run Code Online (Sandbox Code Playgroud)
使观察点跟踪... $ myvar的变化!不是它存储的价值!
很奇怪,我敢肯定,这应该是一种方式,但我不知道一个......
UPD:看起来我在gdb中发现了一个bug.二:
(gdb) wa *$rsp
Attempt to dereference a generic pointer.
(gdb) set $myvar = $rsp
(gdb) wa *$myvar
Attempt to dereference a generic pointer.
Run Code Online (Sandbox Code Playgroud)
UPD:不知道为什么,但wa &*$myvar
设置了$ myvar的断点,但不应该.错误?