在击中断点并继续执行VS时,如何在运行时自动修改变量的值

How to modify value of variable automatically at runtime when hitting a breakpoint and continuing execution in VS?

本文关键字:运行时 修改 变量 断点 中断 继续 VS 执行      更新时间:2023-10-16

我们可以通过更改变量工具提示或local/auto/Watch窗口来手动更改值。但是我想自动将变量的值自动更改为某些特定的硬编码值或基于代码段。例如 -

int main()
{
int a=0,b=1,c=2;
//bla bla
for(int i=0; i<100; ++i)
{
executeMe();
}
//bla bla
}

我想在" executeme()"行上放一个断点,然后将'b'的值更改为硬编码值3或基于可变值'c',因此执行指令'b = c'。并继续执行,而无需每次停止断点。如何在vs?

中执行此操作

使用'打印消息:'选项而不是宏。可以通过将其放置在{}中来打印来自代码的值。关键是VS还将将内容评估为表达式 - 因此{variable_name = 0}应获得与宏示例相同的。

感谢汤姆·麦基恩(Tom McKeown

您可以使用#if预处理指令,该指令与下面的代码相似。

        int a = 0, b = 1, c = 2;
        for (int i = 0; i < 100; ++i)
        {
#if DEBUG
            b=3;
#endif
            executeMe();
        }