在执行期间更改变量的值是否可能?

46

我想知道在运行时,是否有办法可以使用Visual Studio 2008更改变量的值?我知道在Eclipse上可以做到(设置断点,添加监视器并编辑任何想要的变量值),但我在VS上还没有找到这个功能。

有什么想法吗?

谢谢。

7个回答

58
在VS中,如果你将鼠标悬停在此变量上方,你会注意到它显示了一个工具提示来展示它的值。你可以点击这个工具提示并手动编辑它,但你需要提供符合数据类型格式要求的正确数值。字符串也需要引号""。
可能有其他调试窗口的方法实现这个功能,但我不知道。我会留下这些答案给其他人来回答。

22
在VS中,有命令/立即窗口(调试时,在“调试”->“窗口”菜单下)可以让你改变变量的值。
一种更加直观的方式是变量窗口

在使用 AddDays 获取未来日期时,可以将其用于 datetime。但是,在使用工具提示时,会出现语法错误。 - Janis S.

10

使用即时窗口进行调试和表达式求值,执行语句并打印变量值。即时窗口通过构建和使用当前选定的项目来评估表达式。


5

是的,有几种方法。

在监视、本地或自动窗口中双击变量值。您也可以从即时窗口中执行此操作。


5
您可以采用以下其中一种方式进行操作:
  • 使用即时窗口
  • 使用快速查看窗口
这两种方法都允许用户更改变量的值。

4
您可以按照以下步骤进行操作:
1. 在要更新变量值的代码行后设置断点。
2. 运行应用程序直到触发断点。
3. 将鼠标悬停在要编辑的变量上,变量名称和值将显示出来。
4. 单击值字段并进行编辑,然后按Enter键保存修改。

任务完成...


2
对于一个字符串,我们只能更改地址或第一个字符。有没有可能更改整个字符串? - Anvesh Yalamarthy

0
当代码停止时,有很多种方法可以改变值,正如这里的答案所建议的那样。但也有一种方法可以在不停止或修改代码的情况下进行更改。
例如,我需要创建一个条件,以便开始抛出错误或写入日志消息。我不想修改代码。我所做的是插入一个“Tracepoint”,并将一个无效的值赋给一个变量,然后该变量会引发错误。对于测试多线程代码时,当您不想停止时,这是完美的。唯一的缺点是,该值会被写入“输出”窗口。

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接