【问题标题】:Breakpoints not hit when debug website project after update to VS 2015 Update 3更新到 VS 2015 Update 3 后调试网站项目时未命中断点
【发布时间】:2016-09-30 05:21:36
【问题描述】:

我正在开发一个 Web 项目(DNN 模块),我最近更新到 Visual Studio Professional 2015 Update 3。

我在 Windows 10 PC 上使用 IIS 10

当我尝试 F5 / 调试我的应用程序时,我在任何断点上都会收到以下警告:

当前不会命中断点。未加载任何符号 对于这个文件

我试图解决的问题:

  • 我在 IIS 10 中启用了目录浏览
  • 我在管理员模式/提升权限下运行 VS
  • 将 MS ASP.NET 和 Web 工具扩展更新到最新版本
  • 将 MS ASP.NET Web 框架和工具扩展更新到最新版本
  • 清除并重新下载所有调试符号
  • 在发布和调试模式下清理和重建
  • 确保 modules runAllManagedModulesForAllRequests="true" 设置在 web.config的system.webserver
  • 重启 IIS/刷新应用程序池,然后重启网站
  • 为网站使用不同的端口
  • 显然重启电脑/和visual studio

我完全不知所措,真的需要帮助。我不知道为什么我的断点没有被命中,当我调试站点时没有抛出错误并且站点运行正常。

其他尝试:

从这个SO thread我试过了:

来自This SO Thread我试过了:

  • 在调试常规设置中禁用“仅我的代码”

来自用户的建议:

  • 我已尝试直接附加到 w3wp.exe 进程 - 当我尝试停止调试时,没有遇到断点并且 Visual Studio 崩溃。此外,一旦我附加了调试器,网站就会停止工作

问题

谁能帮我弄清楚为什么在从 Visual Studio 调试时我的断点没有被命中。


编辑#1:其他尝试

  1. 当我调试我的应用程序并打开 调试 -> Windows -> 模块 窗口时,我在模块列表中看不到我的项目 dll / pdb 文件的名称。我试着去 Debug -> Options -> Symbols 并单击 Load All Symbols 按钮。 我包括了一个屏幕截图。我的 dll 或项目名为 krisisShifts,因此在 obj/Debug 文件夹中创建的 dll 是 krisisShifts.dll 和 KrisisShifts.pdb 等。图像上的蓝色标记表示 dll 未在加载的模块中列出。我还包括了 Visual Studio 用于调试标记为红色的站点的默认附加进程。

  1. 我还从 IIS 中删除了站点和应用程序池,并使用不同的名称重新创建它们,站点显示正常,但没有命中断点

编辑 2:附加到进程现在有效

不知道我做了什么。我整天都在与这个作斗争,并且在多次重新启动计算机和 Visual Studio 之后,我现在可以附加到进程 w3wp.exe 并且断点被击中。

但是按 F5 仍然不起作用。站点加载但未命中断点,我可以看到我的项目 .dll 未添加到调试模块列表中(但它是在我附加到进程时)。

我觉得我更接近了,但仍然无法弄清楚为什么我的项目 .dll 在按下 f5 时没有加载到调试模块中。

【问题讨论】:

  • 您是否在项目属性中检查了 DLL 的输出路径?检查那里的其他调试设置?
  • @IrishChieftain 我检查了输出路径,正在创建 .pdb 文件
  • 至少可以附加到进程中?
  • @IrishChieftain 我已附加到 w3wp 进程,但没有命中断点,事实上,一旦我附加调试器,站点就会停止正常工作。特别是 web.api 调用不再起作用。
  • 另外,当我在附加到 w3wp 进程后停止调试时,Visual Studio 崩溃并重新启动。是啊!!

标签: asp.net visual-studio iis visual-studio-2015 dotnetnuke


【解决方案1】:

您是否能够直接附加到 w3wp.exe 进程,如果可以,那么您的断点是否命中?

  1. 菜单 > 调试 > “附加到进程...”
  2. 选中“显示所有用户的进程”
  3. 查找名为“w3wp.exe”的进程,用户名为“IIS APPPOOL\{IIS 站点名称}”
  4. 点击“附加”

【讨论】:

  • 见上面的第二条评论。直接附加不起作用,它会挂起网站,所以没有任何作用
  • 您是否尝试过关闭 Visual Studio,删除解决方案目录中的“.vs”文件夹并重新打开解决方案,以清除任何缓存的用户数据? (注意:这将清除您的任何断点,您需要重新添加它们)
  • 是的,我删除了 .vs 文件夹并重新打开了项目 - 没有 chnage
猜你喜欢
  • 1970-01-01
  • 2014-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-21
  • 2017-08-12
相关资源
最近更新 更多