有没有办法在条件断点上更改变量值并继续执行。
我的代码就像这样
switch(var){ //conditional breakpoint on this line
case 1:
break;
...
}
我把条件断点放在下面
(var == 0 ) || (var ==1)
是真的
因此,当此断点发生时,我想更改var = 2
,然后继续执行。
我找到了什么:我发现了操作,但它只记录了消息。有没有办法执行像var = 2
这样的语句作为对此条件断点采取的Action。
我不想改变代码,因为构建它需要花费很多时间。
注意:我在Visual Studio 2015上使用C ++
答案 0 :(得分:3)
在将消息记录到输出窗口写入{my_variable=12345}
时,日志输出的副作用是将12345分配给my_variable
。
考虑到记录消息可以接受并评估大括号中的复杂表达式。
答案 1 :(得分:0)
您可以直接在内存中修改变量,以通过Visual Studio中的quick watch(Shift + F9)或watch窗口更改执行流程。
答案 2 :(得分:0)
确保在Tools / Options / Debugging
中启用/选中“启用编辑并继续”,然后您就可以在调试时编辑代码并继续,而无需重建或停止执行。
答案 3 :(得分:0)
这曾经工作过,我现在似乎无法开始工作。在循环方面工作得很好,也有利于改变值而不改变源代码或代码(并且意外地提交它)。
Conditional break point, break if true
(url = "http://localhost:1234/") != url
这要归功于赋值总是返回它的指定值。当url成为localhost
时,这将永远不会成立