在调试模式下在Visual Studio 2008中编辑代码

时间:2010-05-06 12:31:52

标签: c# visual-studio-2008 windows-7

我很想知道是否有一种方法可以在C#VS 2008中编辑代码,当它遇到断点并且我正在通过代码...我可以修改代码(例如变量中的值)或者如果我的单步行即将命中if语句...我可以修改if语句....等)? 到目前为止,我必须停止运行VS,修改代码,然后点击F5并等到断点再次被击中。

当断点命中,我正在通过代码,我尝试编辑代码时,我收到一条消息“当调试器已经附加到正在运行的被调试代码的进程时,不允许更改在构建或运行时优化。“

7 个答案:

答案 0 :(得分:6)

我知道为什么在Debug版本中禁用Edit + Continue的原因只有几个。首先是64位操作系统,E + C仅适用于32位代码。使用Project + Properties,Build选项卡,Platform Target = x86修复此问题。

这也是一个可能已被关闭的选项。工具+选项,调试,编辑和继续,启用复选框。

如果这没有帮助,请告诉我们更多关于您正在调试的代码类型,您在启动项目时选择的项目模板,如何使调试器中断以及从中复制堆栈跟踪调用堆栈窗口。

答案 1 :(得分:4)

是的,你可以。
这称为Edit and Continue 请注意,它有一些limitations

编辑:您需要切换到调试版本。

答案 2 :(得分:1)

要在中断模式下修改变量的值或设置属性,请转到立即窗口,设置新值,然后单击返回,例如

strValue = "newValue"
Calendar1.Enabled = true

要检索值,您只需将其打印到窗口e.e。

即可
?strValue
?Calendar1.Enabled

答案 3 :(得分:1)

  1. 停止运行您的应用。
  2. 转到工具>选项>调试>编辑并继续
  3. 禁用“启用编辑并继续”。

答案 4 :(得分:0)

回答这个问题:

  

我可以修改代码(例如   变量中的值或者我的变量   步入线即将命中一个if   声明...我可以修改if   语句....等)?

您不能直接将新值弹入变量,但您可以这样做:

  1. 设置断点
  2. 当点击该断点时,单击左边距中的箭头并将其向上拖动到上一行
  3. 现在您可以添加代码来更改环境(例如,您可以将变量设置为新值,添加/删除集合中的项目等)。
  4. 查看有关启用Edit&的其他答案继续 - 特别是,确保您处于调试模式。

答案 5 :(得分:0)

为了解决这个问题,我做了以下......

构建>配置管理器

活动解决方案配置:DEBUG 项目上下文配置:DEBUG

然后TOOLS>选项>调试>编辑&继续 确保编辑&选择继续

然后构建>清洁解决方案 然后BUILD>重建解决方案

然后启动调试,然后暂停,然后您的代码应该是可编辑的

答案 6 :(得分:0)

以下答案对我有用:

http://whyiamright.wordpress.com/2007/12/20/aspnet-edit-and-continue-in-visual-studio-2005/

第二点说 - project-properties-web->启用编辑并继续。

就是这样。