GDB:创建局部变量?

2024-02-23

我正在使用 Xcode 的调试器。当停在断点处时,是否可以在 GDB 命令提示符中键入命令来创建局部变量?如果是这样,怎么办?请举个例子。

我知道我可以在代码中完成它,然后重新编译程序,但我正在寻找一种更快的方法。


如果您不需要在代码中引用变量而只想进行一些临时调查,则可以使用便利变量 https://sourceware.org/gdb/onlinedocs/gdb/Convenience-Vars.html通过使用set变量名开头为的命令$:

(gdb) set $foo = method_that_makes_something()
(gdb) set $bar = 15
(gdb) p $bar
$4 = 15

您会注意到,当您打印内容时,它会以数字变量为前缀 - 您也可以稍后使用它们来引用该值:

(gdb) p $4
$5 = 15

重申一下:这实际上不会影响程序的堆栈,而且也不能,因为这会破坏很多东西。但如果您只需要一个本地游乐场、一些循环变量等,它会很有用。

虽然您无法修改堆栈,但您可以与程序的内存空间交互 https://stackoverflow.com/questions/10284103/how-to-declare-a-variable-in-the-scope-of-a-given-function-with-gdb/21671662#21671662- 您可以调用函数(包括malloc)并构造对象,但这些都将存在于静态内存中,而不是作为堆栈上的局部变量。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GDB:创建局部变量? 的相关文章

随机推荐

  • 我们应该使用 OpenGL 来处理 2D 图形吗?

    如果我们想做一个像MS Paint这样的应用程序 我们应该使用OpenGL来渲染图形吗 我想谈谈使用传统 GDI 与 OpenGL 时的性能 如果有一些更好的库用于此目的 请看我的一个 GDI X11 OpenGL 都是渲染 API 即您通
  • 到底什么是现场注入以及如何避免它?

    我在一些关于 Spring MVC 和 Portlet 的文章中读到场注入不推荐 据我了解 场注入是当你注入一个 Bean 时 Autowired像这样 Component public class MyComponent Autowire
  • 将 Qt GUI 添加到动态库

    问候溢出 我正在尝试向现有项目添加 GUI 更具体地说 对于作为 so文件 或者在 win32 上编译时 dll 该项目已经拥有自己的线程实现来处理可移植性 我知道 Qt 有自己的跨平台线程模型 但最好保留在现有的线程模型中 我对 Qt 老
  • 同时触发if和else的BUG Unity C#

    我在使用最新版本的 Unity 时遇到了一个非常奇怪的错误 IDE 是 Visual Studio 2015 社区 我有一个按钮 单击它时会触发一个函数 并发送一个短字符串作为参数 在该方法中 我首先检查字符串是否为空或空 如果是这种情况
  • 间接修改重载属性Laravel MongoDB

    我将 MongoDB 与 Laravel 一起使用 我有一个名为categories其中有一个文档 id 567dc4b4279871d0068b4568 name Fashion images http example com 1 jpg
  • 如何制作自定义载波后处理器?

    我需要对不是图像的文件上传进行一些后期处理 在回形针中我可以有一个自定义后处理器 但我找不到任何方法在 Carrierwave 中执行此操作 Ruby 1 9 3 Rails 3 2 7 和 CarrierWave 0 6 2 OP的问题是
  • 如何在UIView上插入图片?

    下面的代码在 UIView 上打印一行 我只想知道我要编写的代码能够在视图顶部插入图像 import UIKit class draw UIView var line UIBezierPath var line1 UIBezierPath
  • Ruby 中的横切日志记录

    我正在尝试从外部向方法添加日志记录 面向方面 的风格 class A def test puts I m Doing something end end class A with logging alias method test orig
  • :hover 的 CSS 伪类在 IE7 中不起作用

    我有问题 hoverCSS 的伪类 我用它就像 tr lightRow hover color red 它可以在 Safari 和 Firefox 中运行 但不能在 IE7 中运行 请帮我 IE7 支持 hover 至少在标准模式下是这样
  • 按下按钮以允许全屏查看内容时是否可以隐藏选项卡栏?

    我的基于导航的应用程序的详细视图中有一个 UITabBar 我将文本和图像存储在表格视图中 并希望用户能够点击单元格来隐藏导航控制器和选项卡栏 以便全屏查看内容 我找到了隐藏顶部栏的代码 但隐藏选项卡栏似乎并不容易 UIApplicatio
  • UIButton 图像的色调

    我注意到当我放置白色或黑色UIImage into a UISegmentedControl它会自动对其进行颜色遮罩以匹配分段控件的色调 我觉得这真的很酷 并且想知道我是否也可以在其他地方这样做 例如 我有一堆形状统一但颜色不同的按钮 我是
  • 是什么原因导致 com.aerospike.client.AerospikeException: java.io.EOFException? [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 这是什么原因呢 com aerospike client AerospikeException java io EOFE
  • 使用 XSL 呈现整个网页的优点/缺点

    我正处于与客户一起规划一个项目的初步阶段 以重做他们当前的网站 我查看了他们当前的网站 了解他们当前正在处理哪些问题 经过检查 我注意到每个页面都完全使用 XSLT 呈现 我熟悉 XSLT 我用它来渲染需要在客户端经常刷新的自定义控件 但从
  • 根据 pandas 数据帧的名称绘制正态分布图

    我有一个如下所示的数据框 dateTime Name DateTime day seconds zscore 11 1 2016 15 17 james 11 1 2016 15 17 Tue 55020 1 158266091 11 1
  • RouterLink 在 Angular 6 中不起作用

    我正在观看 Brad Traversy 教程进行编码 我确实按照说的做了 这是我的 app module ts import BrowserModule from angular platform browser import NgModu
  • 在 phpoffice/phpword 上添加图表

    我知道如何在 PHPExcel 上添加图表 但我还需要在 docx 文件上插入图表 是否可以使用 phpoffice phpword 操作图表 如果不可能 您知道适合这项工作的好库吗 实际上不可能在 PHPWord 文档中添加图表 但该功能
  • 选择范围中的第一个字母 ( PostgreSQL )

    我正在尝试从单词的第一个字母在某个范围内的表中进行选择 例如 a f 我尝试使用这样的 where 子句 WHERE lower substring title from 1 for 1 IN ARRAY a k t 希望我稍后能找到一种动
  • 浏览器和凉亭。规范方法

    我现在使用 npm 中无法开箱即用的软件包的方式是这样的 package json 有 napa angular angular bower angular angular animate angular bower angular ani
  • 这个指针转换是否违反了严格的别名规则?

    这是 Quake III Arena 的快速反平方根实现 float Q rsqrt float number long i float x2 y const float threehalfs 1 5F x2 number 0 5F y n
  • GDB:创建局部变量?

    我正在使用 Xcode 的调试器 当停在断点处时 是否可以在 GDB 命令提示符中键入命令来创建局部变量 如果是这样 怎么办 请举个例子 我知道我可以在代码中完成它 然后重新编译程序 但我正在寻找一种更快的方法 如果您不需要在代码中引用变量