2

当使用 VB.Net (2008) 并暂停调试时,Edit-And-Continue 可以节省大量时间。但是,如果您更改任何模块/类级别的信息(变量、子/函数签名等),您会收到如下错误消息:

"unable to apply this change while debugging"

虽然我可以理解完成这项工作所面临的技术挑战(以及为什么会很难),但它让我陷入了困境,只有几个选择:

1) 重新启动并重新编译,使程序恢复到相同的状态
2) 继续调试而不进行更改,并且有忘记的风险
3) 输入提醒说明以进行更改

所有这些都很烦人。

现在我知道选项“4)只是实际进行更改”可能是不可能的。但是有人知道如何启用以下“技术上简单”的可能性吗?

4)让我更改代码,用紫色波浪下划线标记它,这样我就可以保存它,但在重新编译之前忽略更改

我已经检查了工具|选项|调试|编辑并继续,似乎没有什么可以让我这样做。

谢谢!

4

3 回答 3

2

您不能完全按照您的意愿去做,但是您可以在另一个 vs 实例中打开解决方案/项目并更改其中的代码。你必须确保你没有保存它。

于 2010-05-13T19:49:43.687 回答
0

不幸的是,这是不可能的。

它并不像你想象的那么简单。
至少,您将使所有行号无效(尽管这也发生在正常的 E&C 中)。但是,IDE 需要额外的验证层,以防止您执行诸如更改方法签名或类接口之类的操作,这些操作会使源代码级调试变得不可能。

此外,对于不完全了解正在发生的事情的人来说,这将是非常混乱的。

于 2010-05-13T19:50:20.100 回答
0

我不认为这是可能的,当你说这很容易时,我认为你忘记了 Visual Studio 然后必须跟踪你所做的任何更改与编译时的情况相比,以便它可以显示您在调试器等中处于正确的行,如果您添加一些行,删除一些其他行并修改一些行可能会变得非常混乱以涵盖所有可能性,并且它也可能会很混乱。

于 2010-05-13T19:51:38.973 回答