Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 visual studio编辑并继续不起作用_Visual Studio 2010_Debugging_Visual Studio Debugging - Fatal编程技术网

Visual studio 2010 visual studio编辑并继续不起作用

Visual studio 2010 visual studio编辑并继续不起作用,visual-studio-2010,debugging,visual-studio-debugging,Visual Studio 2010,Debugging,Visual Studio Debugging,在我的项目中,它是一个混合项目(在之前的项目中,它是一个web表单项目,然后我们修改为使用mvc模式) 现在我想在调试模式下,我想改变我的cs文件中的一些东西,然后 然后我希望更改后的代码运行 我尝试过启用和禁用工具->选项->调试->编辑并继续复选框部分 当它被启用时,我无法在调试时更改项目中的代码。 当它被禁用时,我可以更改代码,但它不会影响正在运行的部件。 比如说 int i = 0; if(i == 1) return 1; else return 2; 在

在我的项目中,它是一个混合项目(在之前的项目中,它是一个web表单项目,然后我们修改为使用mvc模式)

现在我想在调试模式下,我想改变我的cs文件中的一些东西,然后 然后我希望更改后的代码运行

我尝试过启用和禁用工具->选项->调试->编辑并继续复选框部分

当它被启用时,我无法在调试时更改项目中的代码。 当它被禁用时,我可以更改代码,但它不会影响正在运行的部件。 比如说

  int i = 0;
  if(i == 1)
    return 1;
  else
    return 2;
在调试模式下,我将
I
更改为
1
,但在下面的代码中,它仍然返回
2
,只有在我停止并重新运行调试器时才会生效

 int i = 1;
  if(i == 1)
    return 1;
  else
    return 2;

顺便说一句,我使用的是Visual Studio 2010版本。

此问题的解决方案在Microsoft文档中。。。启用工具->选项->去毛刺->编辑并继续。。。。还有很多事要做

如果启用了IntelliTrace,并且您同时收集IntelliTrace事件和呼叫信息,则禁用“编辑并继续”

在Visual Studio的菜单上,选择工具>>选项-选择“IntelliTrace”选项卡,并仅选中IntelliTrace事件。。保存、重新启动visual studio并


您的编辑和继续将再次工作

这不是我的问题;在运行VS2017 RC2时,我发现在工具->选项->调试->及时-我的“托管代码”被取消选择

出现警告“另一个调试器已将自身注册为即时调试器。请通过启用即时调试或运行Visual Studio修复进行修复”

我没有注册任何其他调试工具!所以不知道为什么它会被解开


因此,解决方法只是在“管理”框中打勾……

给出的答案都不起作用。这就是我所做的

  • 我修复了VS安装。我有2017版
  • 我取消选中本机代码复选框

-这为我解决了问题-这是针对VS2017的,最近(2019年3月)开始发生。
似乎NCover将系统变量COR_ENABLE_PROFILING设置为1。卸载它可以让我摆脱它。

以上这些都不适合我,但一旦我取消选中“启用本机编辑并继续”,它就可以工作了:在工具->选项->调试->常规下

  • 在工具->选项->调试->常规下:选中“启用编辑并继续”框
  • 在工具->选项->调试->及时:选中“托管代码”框
  • 保存并重新启动Visual Studio。如果收到有关提升权限的警告,请接受该对话框。您的更改尚未保存。重新启动后,再次转到工具->选项->调试->准时:如果未显示选中项,请选中“托管代码”框。保存并重新启动Visual Studio

  • 修复VS安装并升级到当前最新的VS2017版本:15.9.19为我解决了这个问题。

    h-rai的回答为我提供了所需的线索:取消选中本机复选框会显示一条警告,指出已注册另一个JIT调试器

    然后,我在这篇文章中发现了更多的线索

    我的问题可能是由于安装了新的.NET core 3.1,但尚未将VS2017升级到VS2019

    现在,当我取消选中“Native”复选框时,我没有收到关于另一个JIT调试器的警告,我可以在再次调试时修改代码。

    我发现

    VS2019: Project (context menu) =>
    Properties =>
    Debug =>
    Debugger engines =>
    Enable native code debugging
    
    打开了。取消选中此选项后,我的“编辑并继续”问题消失了


    注意:在此发现之前,我已尝试了建议的修复(此处)。

    只需按“全部中断”按钮,然后编辑代码,然后按“继续”。 这对我来说是一种魅力


    有几个有用的答案。应该有一点很明显,禁用“编辑并继续”不会使代码在编辑时改变行为。E+C有一些限制,特别是64位程序不支持它。已在VS2013中修复。微软并没有保守秘密,在中很好地描述了什么可以工作,因此,我应该做什么?它说启用E+C,但我要说的是,我尝试了两个案例,但它没有解决我的问题。我必须这样做,并且重新启动Visual Studio,以使更改在这里生效。Native最初是选项,但最终选择了这三个选项。在某些设置中,尝试在不提升的情况下更改这些设置会再次导致“另一个调试器已注册自身…”。您只能在企业版上使用IntelliTrace功能,而不能在专业版上使用。我必须完全禁用IntelliTrace以获得编辑和继续工作。它不适用于VS 2019感谢您提供的信息,启用此功能后,我可以启用编辑并继续。是的,需要重新启动