我有一个 Web 应用程序,我一直能够在 Visual Studio 中运行,并且它调试得很好(断点工作,我可以暂停执行等)。最近,行为突然发生了变化,发生了一些事情:

  • 我开始调试,它启动 IE 并加载应用程序,但几秒钟后(有时页面甚至还没有显示),Visual Studio 的行为就像调试已停止一样 - 我可以再次在 VS 中编辑代码,并且工具栏上的“播放”按钮已启用。应用程序继续在刚刚生成的 IE 窗口中运行,但我不附加它
  • 在 VS 正在“调试”的几秒钟内,因为它分离,我的断点显示为空的 - 就好像我设置为“释放”模式并且它们不会被击中。事实上,我在Page_Load中设置了一个断点,它就跳过了。我已经检查过,并且我设置为调试模式,尽管我的工具栏中缺少编译模式下拉菜单(我检查了构建属性以确保我处于调试模式)。

有人可以在这里透露一些信息吗?

有帮助吗?

解决方案

事实证明,这实际上是 Windows Vista 升级的结果。VS 没有“以管理员身份运行”,这导致它缺乏附加到其他进程进行调试的权限。结果,调试一开始就停止了。将 VS 快捷方式更改为以管理员身份运行解决了此问题。

其他提示

我也经历过同样的行为。原因是存在几个 <system.web> 部分(这是允许的 web.config 模式)。Visual Studio 调试器(已测试版本 2008 和 2010)仅在第一个遇到的部分中查找。所以如果你的 <compilation debug="true"> 标签不在第一个标签中,它认为没有compilation.debug设置存在,并且一般会尝试添加 <compilation debug="true"> 到第一个 <system.web>. 。在某些情况下,VS2008 只是默默地处理这种情况。例如看这里: https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=510354#details"

您最近在服务器/工作站上安装过其他东西吗?

我们有一个第三方应用程序不允许我们进行调试,w3wp.exe 在尝试调试时立即崩溃。

当我将一些代码放入崩溃的构造函数时,我遇到了类似的情况。与调试在应用程序启动后立即断开连接的问题完全相同。

简而言之,如果是的话,请检查您是否没有配置类构造函数以在崩溃的 Web 启动期间运行...

快速 Windows 7 更新:我必须将“localhost”添加到我的受信任站点列表中才能纠正此问题......想想吧。

对于那些(像我一样)上述解决方案不起作用的人来说,这只是一个解决方法:启动要调试的应用程序后,转到“调试”->“附加到进程”,然后将其附加到要调试的进程。适用于 我的 机器。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top