有时我会遇到我想在调试中调用的函数,这些函数将指针作为参数并更改指向的内容。例子:
int doFoo(int a, double* b)
Run Code Online (Sandbox Code Playgroud)
我想从 gdb 调用这个函数,但没有可用double*的。是否可以使用便利变量来做到这一点?只需致电
set $foo = 1.0
call doFoo(0, &($foo))
Run Code Online (Sandbox Code Playgroud)
不起作用。
这似乎有效:
set var $foo = &{1.0}
call doFoo(0, $foo)
p *$foo
Run Code Online (Sandbox Code Playgroud)
使用{}使 GDB 在进程内存中分配一个单项双精度数组。请注意,如果没有&在分配中,则$foo每次评估都会返回一个新地址。
| 归档时间: |
|
| 查看次数: |
733 次 |
| 最近记录: |