【问题标题】:Editing code in Visual Studio 2008 in debug mode在调试模式下在 Visual Studio 2008 中编辑代码
【发布时间】:2011-02-16 09:16:54
【问题描述】:

我很想知道是否有办法在 C# VS 2008 中编辑代码,当它遇到断点并且我正在遍历代码时...我可以修改代码(例如变量中的值或者,如果我的单步执行行即将到达 if 语句……我可以修改 if 语句……等等)吗? 至此,我只好停止运行VS,修改代码,然后按F5,等到再次下断点。

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

【问题讨论】:

  • 我正在使用 C#。我试过了,但我收到一条消息,提示“当调试器已附加到正在调试的代码的已运行进程时,不允许更改在构建或运行时进行了优化。”
  • 是的,切换到调试构建。好吧,在我按下 F5 之前,它处于调试版本中。在我按下 F5 并且断点命中后,“构建”下拉菜单显示为灰色。
  • 您不需要(也不能)使用 E&C 进行重建。您的更改将自动应用。
  • “您不需要(也不能)使用 E&C 进行重建。您的更改将自动应用”是什么意思?
  • 他的意思是,如果您继续执行(通过步进或按 f5),那么您所做的更改将被应用。请注意,这仅适用于 32 位版本,不适用于 64 位版本。

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


【解决方案1】:

只有几个原因我知道为什么编辑+继续会在调试版本中被禁用。首先是 64 位操作系统,E+C 仅适用于 32 位代码。使用 Project + Properties、Build 选项卡、Platform Target = x86 修复该问题。

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

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

【讨论】:

  • 目标平台是“任何 CPU”。我换成x86了,E&C还是不行。工具+选项,调试。 E&C 复选框已启用。
  • 我在后面的代码中调试C#代码。项目模板为 WebForm.aspx。我设置了一个断点来让调试器中断。如何获取堆栈跟踪副本?
  • 哇!! “Web”选项卡中的第二个设置起到了作用。 E&C 被禁用。您的原始回复说“构建”选项卡。不管怎样,谢谢汉斯!!!
【解决方案2】:

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

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

【讨论】:

  • 如何进行“编辑并继续”?
  • 进入调试器(点击断点或按下暂停按钮)并编辑代码,然后按播放按钮或 F5 (或 F10 或 F11 取决于你在做什么)
【解决方案3】:

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

strValue = "newValue"
Calendar1.Enabled = true

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

?strValue
?Calendar1.Enabled

【讨论】:

    【解决方案4】:
    1. 停止运行您的应用。
    2. 转到工具 > 选项 > 调试 > 编辑并继续
    3. 禁用“启用编辑并继续”。

    【讨论】:

      【解决方案5】:

      回答这个问题:

      我可以修改代码吗(例如 变量中的值,或者如果我的 stepthrough 行即将到达 if 声明...我可以修改 if 声明......等等)?

      您不能直接将新值弹出到变量中,但是您可以这样做:

      1. 设置断点
      2. 命中该断点后,单击左边距中的箭头并将其向上拖动到上一行
      3. 现在您可以添加代码来更改环境(例如,您可以将变量设置为新值、从集合中添加/删除项目等)

      请参阅有关启用“编辑并继续”的其他答案 - 特别是,请确保您处于调试模式。

      【讨论】:

        【解决方案6】:

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

        构建 > 配置管理器

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

        然后工具 > 选项 > 调试 > 编辑并继续 确保选择了编辑并继续

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

        然后开始调试,然后暂停,然后你的代码应该是可编辑的

        【讨论】:

          【解决方案7】:

          以下答案对我有用:

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

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

          就是这样。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2010-11-06
            • 1970-01-01
            • 2010-11-09
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多