问题描述
|
这是使用调试器时看到的:
为什么看不到实际值? (我认为这是一个设置,但我不知道会是什么样子)。
解决方法
您可以看到实际值。
errmsg
是0x0,data
是0x1d254,依此类推。您现在看不到的是摘要,该摘要通常向您显示所指向的对象的内容。有时发生这种情况是因为调试器有些混乱。有时是因为变量确实超出范围。如果您打开了任何优化功能,则编译器可能会删除有问题的变量。这里的一个线索是data
和typename
具有相同的值,因此代码中的这时至少其中之一无效。
如果调试器只是感到困惑,则查看对象的一种方法是使用gdb控制台。 gdb有一个print-object
命令,简称po
,非常有用:
> po data
会尽力打印出有用的值。