如果我尝试在QT Creator中调试我的C ++程序,则Locals and Expressions窗口会显示程序中的变量。但是,所有值都显示“< not accessible>”。
截图:
如何显示要显示的值?我可以用cout打印出值,所以我知道它们已经初始化了。
编辑:似乎它只适用于字符串
规格/其他:
答案 0 :(得分:11)
尝试删除工具/选项/调试器/ GDB /加载系统GDB漂亮打印机上的复选标记,看看这是否有所不同。
答案 1 :(得分:7)
解决:
对于复合类型(std :: string和其他类),它不会 自动转换为某种默认类型(例如std :: string to 的char *);所以你需要做什么右键单击一个值,然后选择 子菜单更改本地显示格式 - >原始结构,然后保持 打开符号,直到你得到有意义的东西(如果可能的话)。 例如。对于std :: string,在更改为“Raw structure”之后,就得到了 您的实际字符串(通过单击您左侧的“+”符号) 符号):_M_dataplus-> _M_p
请注意,您可以为一个符号“更改本地显示格式”( 您选择的一个)或该类型的所有符号(例如,您选择一个 std :: string,然后所有std :: strings都改为Raw结构)
从此链接:http://qt-project.org/forums/viewthread/36121/
归功于Gyll。