如何在visual studio 2015中更改条件断点的变量值

时间:2016-07-26 11:38:50

标签: c++ visual-studio visual-studio-2015 breakpoints

有没有办法在条件断点上更改变量值并继续执行。

我的代码就像这样

switch(var){ //conditional breakpoint on this line
    case 1:
    break;
...
}

我把条件断点放在下面   (var == 0 ) || (var ==1)是真的

因此,当此断点发生时,我想更改var = 2,然后继续执行。

我找到了什么:我发现了操作,但它只记录了消息。有没有办法执行像var = 2这样的语句作为对此条件断点采取的Action。

我不想改变代码,因为构建它需要花费很多时间。

注意:我在Visual Studio 2015上使用C ++

4 个答案:

答案 0 :(得分:3)

将消息记录到输出窗口写入{my_variable=12345}时,日志输出的副作用是将12345分配给my_variable

考虑到记录消息可以接受并评估大括号中的复杂表达式。

答案 1 :(得分:0)

您可以直接在内存中修改变量,以通过Visual Studio中的quick watch(Shift + F9)或watch窗口更改执行流程。

答案 2 :(得分:0)

确保在Tools / Options / Debugging中启用/选中“启用编辑并继续”,然后您就可以在调试时编辑代码并继续,而无需重建或停止执行。

更多信息可在How to: Enable and Disable Edit and Continue

中找到

答案 3 :(得分:0)

这曾经工作过,我现在似乎无法开始工作。在循环方面工作得很好,也有利于改变值而不改变源代码或代码(并且意外地提交它)。

Conditional break point, break if true

(url = "http://localhost:1234/") != url

这要归功于赋值总是返回它的指定值。当url成为localhost

时,这将永远不会成立