Qt Creator调试器无法显示局部变量该如何解决?
Qt Creator调试时无法显示局部变量的解决方案
- 确认使用Debug模式编译
检查项目构建套件左侧的编译模式切换按钮是否选择了Debug,Release模式会剥离调试符号导致无法读取变量信息。同时打开项目根目录下的.pro文件,确认存在CONFIG += debug配置,修改配置后必须执行qmake再全量编译项目才会生效。 - 校验调试器与构建套件匹配
打开工具->选项->Kits(不同版本Qt Creator路径可能略有差异),检查当前使用的套件对应的调试器配置:MinGW构建套件必须搭配对应版本的GDB调试器,MSVC构建套件必须搭配Visual Studio提供的CDB调试器,版本不匹配会出现符号解析失败问题。 - 关闭Debug模式下的编译优化
过高的编译优化等级会让编译器调整变量存储逻辑、甚至优化掉未频繁使用的局部变量,导致调试器无法识别。你可以在.pro文件中加入以下两行配置强制关闭Debug模式的优化:
保存后重新执行qmake并全量编译即可。QMAKE_CFLAGS_DEBUG -= -O* QMAKE_CXXFLAGS_DEBUG -= -O* - 确认断点位置在变量作用域内
如果你的断点打在局部变量定义之前的代码行,此时变量还未被初始化,自然不会出现在局部变量面板中。你可以将断点下移到变量被定义、赋值的代码行后再启动调试。 - 重置界面布局
局部变量面板布局异常也会导致内容不显示,调试状态下右键点击局部变量区域的表头,选择重置为默认即可恢复面板显示;如果还是异常可以选择顶部菜单栏窗口->重置布局恢复全局界面默认配置。

内容的提问来源于stack exchange,提问作者Kevin John
相关产品推荐
相关产品推荐

