17
A
回答
14
对于C(也可能是C++)代码,这将是非常困难的,因为在大多数实现中这样做会涉及到移动堆栈指针,这将导致函数的退出代码失败,因为它不再匹配大小堆栈框架。同样,访问局部变量的函数中的所有代码都会突然冒着碰到错误的位置的风险,这也是不好的。我不这么认为,不。
6
这就是我用来打印变量
(gdb) set $path=((ngx_path_t **)ngx_cycle->paths.elts)[2]
(gdb) print *$path
$16 = {
name = {
len = 29,
data = 0x80ed15c "/usr/local/nginx/fastcgi_temp"
},
len = 5,
level = {1, 2, 0},
manager = 0,
loader = 0,
data = 0x0,
conf_file = 0x0,
line = 0
}
12
您可以动态地分配一些空间,并用它来存储一个新的变量。取决于“当前函数的作用域”的含义,它可能不是你想要的。
但在这里是如何的样子,当你有函数func(),它的指针输出参数:
set $foo = alloc(sizeof(struct funcOutStruct))
func($foo)
p *$foo
free($foo)
相关问题
- 1. 如何在coffeescript的特定范围中声明一个变量?
- 2. javascript函数范围,变量声明
- 3. 函数内声明函数的范围
- 4. 变量未在此范围内声明?
- 5. 变量未在范围内声明
- 6. “变量”未在此范围内声明
- 7. 函数“未在此范围内声明”
- 8. 函数范围内的变量变量
- 9. 在C++中给定的相同范围内声明相同的变量名称
- 10. 如何在内联函数中声明一个静态变量?
- 11. 如何在Scheme函数内声明一个变量?
- 12. gdb:打印一个不在当前范围内的变量
- 13. 函数声明范围
- 14. 变量不是在这个范围内声明
- 15. “变量”是不会在这个范围内声明[C]
- 16. 用...声明int变量...范围
- 17. 定义的函数,在一个声明中声明一个变量
- 18. 如何从函数内部声明一个全局变量?
- 19. 如何在范围内声明?
- 20. 这个私有变量是如何“未在此范围内声明的”?
- 21. 范围JavaScript变量的声明为inline
- 22. 在全局范围内声明一个图像变量没有得到分配,但在函数内
- 23. 声明一个范围
- 24. 使用变量内部的函数声明一个值
- 25. 变量在此范围内没有声明 - MinGW的W64
- 26. 将变量传递给函数范围
- 27. 函数内部变量的范围
- 28. Ajax函数内的Javascript变量范围
- 29. 函数内nodejs中的变量范围
- 30. Javascript变量声明和范围
它会做什么好?代码不会意识到它的存在。 – 2012-04-23 16:06:48
无论如何,请同意@JamesMcLaughlin清楚:**否**,仅限于检查。 – 2012-04-23 16:09:46
你确定你不想要一个gdb变量吗?为了方便起见,你可以在gdb的上下文中创建变量,比如'set $ foo = ...'和后面的参考'$ foo'。然而,显然这些变量对于运行的代码是不可见的。 – FatalError 2012-04-23 16:14:02