【发布时间】:2015-11-09 15:32:44
【问题描述】:
我使用 Visual Studio 2015 在 Windows 中构建了google gflags。 构建的是调试构建(因此设置了程序数据库(/Zi)),我正在逐步浏览 gflags_unittest_main.cc。 单元测试成功通过。但是,在调试时我看不到 FLAGS_## 变量的内容。
例如gflags_unittest_main.cc的第1515行是
FLAGS_changed_bool2 = true;
我在监视窗口中看不到 FLAGS_changed_bool2 的值。我尝试在 FLAGS_changed_bool2 前面添加 google:: 和 gflags:: 命名空间,但它只是说标识符未定义。 Here 它说您可以像访问普通变量一样访问这些标志。
为什么调试时看不到这些变量的值?我能做些什么来见他们?也许一些构建选项?
我正在尝试了解另一个使用 gflags 并具有数百个 FLAGS_ 变量的开源库的代码。无法看到这些变量的内容会使任务更加困难。
【问题讨论】:
-
调试器对这些愚蠢的宏技巧一无所知。查看output of /P 了解真正的标识符名称是什么样的。
-
感谢您的建议。我已经使用 /P 选项生成了文件 gflags_unittest_main.i 并且我提到的示例变量仍然称为 FLAGS_changed_bool2
标签: c++ visual-studio visual-studio-2015 debug-symbols gflags