在运行时更改代码

时间:2014-04-10 11:31:59

标签: c# visual-studio runtime

There is an old video of Notch debugging并测试他的代码,在这样做时,他只是暂停他的游戏,修改代码,并通过新的更改恢复他的游戏。

I found this old post explaining how he does it,但我想知道是否有与Visual Studio 2012相同的内容。

我知道您可以启用“编辑”和“继续”,但由于您无法编辑任何所需内容而需要设置断点,因此这一点受到更多限制。所以编辑和继续并不是我想要的。

2 个答案:

答案 0 :(得分:4)

  

我知道你可以启用“编辑”和“继续”,但是在你无法编辑你想要的任何内容的情况下,这会受到更多限制......

是的,您可以使用“编辑并继续”编辑某些内容。但是,对于目前的工具来说,这是最好的,我不认为有办法解决这个问题。

  

...你需要设置一个断点

不,你不是。您可以使用VS中的“暂停”按钮(实名Break All),编辑代码然后让它继续执行。

答案 1 :(得分:1)

.NET的编辑和继续远远不如Visual C ++,Visual Basic或任何动态(即脚本)语言提供的那样好,这是很可惜的。

如果你可以使用limitations(必须中断执行,没有64位支持,除非你是v4.5.1 +,没有lambda / linq更改,更改活动语句,以及其他一些),那么你应该可以做到几乎一样。但我发现,我总是希望改变一些不受支持的东西:(

最大的选择是使用单元测试 - 因为,如果你有足够的测试,你根本不需要调试代码。我认为你是否能节省更多时间是值得商榷的,也许这取决于更适合你的程序员风格。