【发布时间】:2017-03-28 21:20:18
【问题描述】:
当我通过以下程序单步执行 Visual Studio 调试器时,任何 istringstream 方法调用的“自动”窗口中都不会显示返回值。
它显示了vector::size() 的返回值。
#include "stdafx.h"
#include <sstream>
#include <vector>
int main()
{
std::vector<char>{}.size(); //<-- debugger shows return value
std::istringstream{"x"}.get(); //<-- no return value shown
std::istringstream{"x"}.good(); //<-- no return value shown
std::istringstream{"x"}.tellg(); //<-- no return value shown
return 0;
}
当然,我在“调试”配置中运行它,所以编译器不应该能够优化调用。我使用控制台应用程序向导创建了项目,之后没有更改任何项目设置。
我应该提交错误吗?
编辑:
另一个可能相关的问题:我不能 F11-step 进入上述任何istringstream 方法。调试器只是跨过它们,就好像我按了 F10 一样。同样,它适用于vector::size()。
【问题讨论】:
-
这听起来更像是 Visual Studio 的错误报告,而不是正确的代码问题。
-
我在“自动”窗口中获得所有这些调用的返回值。是的,VS2017。
-
@Tankor SO 不仅适用于代码问题,对ask about coding tools 也有效。我还不确定这实际上是一个错误还是配置问题。我希望有人先确认一下。
-
@AnT 你用的是哪个 VS 版本?社区版、专业版、企业版……?
-
@zett42:社区。span>
标签: c++ visual-studio visual-studio-debugging debug-symbols