附加到进程IIS不会达到断点

时间:2018-12-19 20:58:56

标签: c# asp.net-mvc iis

当我将Visual Studio附加到在IIS中运行的Asp.Core MVC应用程序时,不会出现断点。我检查了将文件放入其中的IIS文件夹,里面有所需的.pdb文件。这些文件是通过VS中的发布命令创建的。

enter image description here

我不知道您需要我在这里分享什么,非常抱歉提供的这些信息。

4 个答案:

答案 0 :(得分:1)

我假设您的意思是完整的IIS,而不是IIS Express。

在Visual Studio的“项目属性”中检查“ Web”设置。您正在寻找三件事:

  1. 从下拉列表中选择“本地IIS”。
  2. “项目网址”正确无误(应与您用于访问该网站的URL相匹配)。如果不正确,那将导致您遇到的问题(我是凭经验说的)。
  3. 在“调试器”下选择了“ ASP.NET”。

请在此处查看说明,包括屏幕截图:https://docs.microsoft.com/en-us/visualstudio/debugger/how-to-enable-debugging-for-aspnet-applications?view=vs-2017#debug-aspnet-apps

答案 1 :(得分:0)

首先,请确保web.config文件中的debug属性为true。

如果调试器未加载.pdb文件,则不会选中Breakpiont。因此,请确保符号由调试器加载。我们可以通过以下步骤(Debug-> Windows-> Modules)检查调试器是否加载了该pdb文件,然后选择dll模块以查看是否加载了pdb文件。如果未加载pdb文件,则可以手动加载它(右键单击dll模型->选择加载符号)。

答案 2 :(得分:0)

我最喜欢的在本地调试IIS / IIS Express的技巧是添加一些代码。

Global.asax.cs中的某处

public static void Application_Initialize() {
 AttachDebugger();
...
}

[Conditional("DEBUG")]
private void AttachDebugger() {
  if (!System.Diagnostices.Debugger.IsAttached()) {
     System.Diagnostics.Debugger.Launch();
  }
  System.Diagnostics.Debugger.Break();
}

答案 3 :(得分:0)

请确保正确键入您的Project Url。在我的情况下,主机名(即http:// localhost / webApplication )后缺少文件夹名称, 这导致断点不会被击中。 screenshot