如何在程序执行期间查看变量

时间:2011-05-26 10:38:02

标签: c variables

我在Visual C ++中编写了一个相对简单的C程序,并且有两个全局变量,我想知道程序运行时的值。一旦分配了值,它们就不会改变,但是我的编程能力不足以快速构建一个显示值的文本框(我在Win32中工作)所以我正在寻找一个可以导出的快速例程文本文件的值,所以我可以查看它们并检查它们应该是什么。价值观是“双倍”。

我的印象是这是调试器的目的,但对我来说调试器不会运行,因为“找不到文件”总是如此。

如何在Win32应用程序中轻松检查全局变量(double)的值?

3 个答案:

答案 0 :(得分:3)

让调试器工作。你应该发布另一个问题,说明为什么它不起作用 - 尽可能多的信息。

完成后,设置一个断点,并在Visual C ++下(我刚试过2010),将鼠标悬停在变量名称上。

您还可以使用观察窗口输入表达式并跟踪其值。

答案 1 :(得分:1)

如果您的调试器不工作,请尝试在程序迭代的任何地方使用printf语句。 有时,这可以是一种观察变量的有用方法,而无需介入变量。

如果您希望在调试模式下运行程序,请按照建议设置断点(在VS2010中,您可以右键单击要设置断点的行)。

然后你只需要去工具栏 - >调试工具栏。

答案 2 :(得分:0)

我通常喜欢把#ifdef _DEBUG(或写一个合适的宏甚至是额外的代码)来进行打印,并将所有可以帮助我跟踪程序执行情况的内容发送到输出。由于你的变量永远不会改变,我会这样做。 然而,充斥着大量值的控制台是不好的,在这种情况下我会依赖断言和调试器 - 你应该真的明白为什么它不起作用。 我已经做了足够多的Python和Ruby来告诉你,调试一个复杂的程序,当你拥有的只是一个printf,虽然可行,但是非常令人沮丧并且比预期的要长。

最后,因为你提到你的数据类型是双倍的(请确保你有充分的理由不使用浮点数),如果你添加一些断言,请记住==是要避免,除非你知道100% ==是你真正想要的(如果你的数据来自计算,这是不太可能的。)