更新到 VS 2015 Update 3 后调试网站项目时未命中断点
Breakpoints not hit when debug website project after update to VS 2015 Update 3
我有一个正在开发的 Web 项目(DNN 模块),我最近更新到 Visual Studio Professional 2015 Update 3。
我在 windows 10 PC
上使用 IIS 10
当我尝试 F5/调试我的应用程序时,我在任何断点上收到以下警告:
the breakpoint will not currently be hit. no symbols have been loaded
for this document
我尝试解决的问题:
- 我在 IIS 10 中启用了目录浏览
- 我 运行 VS 处于管理员模式/提升权限
- 已将 MS ASP.NET 和 Web 工具扩展更新到最新版本
- 已更新 MS ASP.NET Web 框架和工具扩展到最新版本
- 清除并重新下载所有调试符号
- 在发布和调试模式下清理和重建
- 确保 modules runAllManagedModulesForAllRequests="true" 设置在
system.webserver 共 web.config
- 重新启动 IIS/刷新应用程序池,并重新启动网站
- 为网站使用不同的端口
- 明显重启电脑/和visual studio
我完全不知所措,真的需要帮助。我不明白为什么我的断点没有被击中,当我调试网站时没有抛出任何错误并且网站运行正常。
其他尝试:
从这个我试过:
来自 This SO Thread 我试过了:
- 在调试常规设置中禁用 "just my code"
来自网友的建议:
- 我试过直接附加到 w3wp.exe 进程 - 没有断点命中,当我尝试停止调试时 visual studio 崩溃。另外,一旦我附加了调试器,网站就会一起停止工作
问题
谁能帮我弄清楚为什么从 visual studio 进行调试时我的断点没有命中。
编辑#1:额外尝试
- 当我调试我的应用程序并打开 Debug -> Windows -> Modules window 我没有看到我的项目 dll / pdb 文件在模块列表中。我尝试转到“调试”->“选项”->“符号”并单击“加载所有符号”按钮。
我附上了一个屏幕截图。我的 dll 或项目名为 krisisShifts,因此在 obj/Debug 文件夹中创建的 dll 是 krisisShifts.dll 和 KrisisShifts.pdb 等。图像上的蓝色标记显示加载的模块中未列出 dll。我还包括默认附加进程 Visual studio 用于调试标记为红色的站点。
- 我还从 IIS 中删除了网站和应用程序池,并用不同的名称重新创建了它们,网站显示正常,但没有断点
编辑 2:附加到进程现在有效
不确定我做了什么。我一整天都在为此苦苦挣扎,并在重新启动计算机和 visual studio 无数次后,我现在可以附加到进程 w3wp.exe 并且断点被命中。
但是按F5还是不行。站点加载但没有断点,我可以看到我的项目 .dll 没有添加到调试模块列表中(但是当我附加到进程时)。
我觉得我更接近了,但仍然无法弄清楚为什么我的项目 .dll 在按 f5 时没有加载到调试模块中。
您能否直接附加到 w3wp.exe 进程,如果可以,您的断点是否命中?
- 菜单 > 调试 > "Attach to process..."
- 勾选"Show processes from all users"
- 查找名为 "w3wp.exe"、用户名为 "IIS APPPOOL\{IIS site name}"
的进程
- 点击"Attach"
我有一个正在开发的 Web 项目(DNN 模块),我最近更新到 Visual Studio Professional 2015 Update 3。
我在 windows 10 PC
上使用 IIS 10当我尝试 F5/调试我的应用程序时,我在任何断点上收到以下警告:
the breakpoint will not currently be hit. no symbols have been loaded for this document
我尝试解决的问题:
- 我在 IIS 10 中启用了目录浏览
- 我 运行 VS 处于管理员模式/提升权限
- 已将 MS ASP.NET 和 Web 工具扩展更新到最新版本
- 已更新 MS ASP.NET Web 框架和工具扩展到最新版本
- 清除并重新下载所有调试符号
- 在发布和调试模式下清理和重建
- 确保 modules runAllManagedModulesForAllRequests="true" 设置在 system.webserver 共 web.config
- 重新启动 IIS/刷新应用程序池,并重新启动网站
- 为网站使用不同的端口
- 明显重启电脑/和visual studio
我完全不知所措,真的需要帮助。我不明白为什么我的断点没有被击中,当我调试网站时没有抛出任何错误并且网站运行正常。
其他尝试:
从这个
来自 This SO Thread 我试过了:
- 在调试常规设置中禁用 "just my code"
来自网友的建议:
- 我试过直接附加到 w3wp.exe 进程 - 没有断点命中,当我尝试停止调试时 visual studio 崩溃。另外,一旦我附加了调试器,网站就会一起停止工作
问题
谁能帮我弄清楚为什么从 visual studio 进行调试时我的断点没有命中。
编辑#1:额外尝试
- 当我调试我的应用程序并打开 Debug -> Windows -> Modules window 我没有看到我的项目 dll / pdb 文件在模块列表中。我尝试转到“调试”->“选项”->“符号”并单击“加载所有符号”按钮。 我附上了一个屏幕截图。我的 dll 或项目名为 krisisShifts,因此在 obj/Debug 文件夹中创建的 dll 是 krisisShifts.dll 和 KrisisShifts.pdb 等。图像上的蓝色标记显示加载的模块中未列出 dll。我还包括默认附加进程 Visual studio 用于调试标记为红色的站点。
- 我还从 IIS 中删除了网站和应用程序池,并用不同的名称重新创建了它们,网站显示正常,但没有断点
编辑 2:附加到进程现在有效
不确定我做了什么。我一整天都在为此苦苦挣扎,并在重新启动计算机和 visual studio 无数次后,我现在可以附加到进程 w3wp.exe 并且断点被命中。
但是按F5还是不行。站点加载但没有断点,我可以看到我的项目 .dll 没有添加到调试模块列表中(但是当我附加到进程时)。
我觉得我更接近了,但仍然无法弄清楚为什么我的项目 .dll 在按 f5 时没有加载到调试模块中。
您能否直接附加到 w3wp.exe 进程,如果可以,您的断点是否命中?
- 菜单 > 调试 > "Attach to process..."
- 勾选"Show processes from all users"
- 查找名为 "w3wp.exe"、用户名为 "IIS APPPOOL\{IIS site name}" 的进程
- 点击"Attach"