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

问题描述 投票:0回答:3

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

enter image description here

我不知道你需要我在这里分享什么,很抱歉这几个信息。

c# asp.net-mvc iis
3个回答
1
投票

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

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

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

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


0
投票

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

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


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();
}
© www.soinside.com 2019 - 2024. All rights reserved.