在Gnome Builder中调试时如何修改变量的取值?
Gnome Builder调试过程中修改变量的操作方法
图形化操作(推荐新手使用)
- 调试启动并命中断点后,调出左侧的「变量」面板(未显示的话可通过顶部菜单「视图」→「面板」→「变量」开启)
- 在变量列表中找到目标变量,右键点击后选择「修改值」选项
- 在弹出的输入框中输入新的变量值,按下回车即可完成修改
调试控制台命令操作
- Gnome Builder底层调试依赖GDB,内置调试控制台兼容标准GDB命令,正确的修改变量命令格式为:
set variable <变量名>=<新值>
可简写为:set var <变量名>=<新值> - 示例:修改int型变量page_num的值为5:
set var page_num=5 - 注意:
set var和变量名之间必须保留空格,你之前使用的set var=val格式错误,是导致修改不生效的最直接原因。
其他可能导致修改不生效的问题排查
- 编译配置问题:如果编译时开启了-O1及以上的优化等级,编译器会优化掉部分变量的内存存储、或进行常量折叠,导致调试时无法修改。请修改构建配置,将优化等级调整为-O0,同时保留-g调试符号参数后重新编译。
- 作用域问题:仅当前栈帧对应作用域内的可写变量支持修改,如需修改其他栈帧的变量,先在左侧「调用栈」面板点击对应栈帧切换上下文,再进行修改操作。
- 变量属性问题:被const修饰的只读变量、或已被优化为寄存器存储的变量无法修改,强制修改会触发未定义行为,GDB会直接拒绝此类修改请求。
内容的提问来源于stack exchange,提问作者Ritu Lahkar
相关产品推荐
相关产品推荐

