首页 > 解决方案 > 我应该将 Visual Studio 调试器附加到哪个进程来调试 Kestrel 应用程序?

问题描述

我正在调出命令行并使用dotnet run命令运行我的应用程序。这会启动 Kestrel 并启动我的应用程序。

我应该如何确定将调试器附加到哪个进程,以便我可以调试 Kestrel 现在托管的网站?

我特别需要能够这样做 - 这意味着我不能使用标准 F5。

标签: visual-studioasp.net-corekestrel-http-server

解决方案


不幸的是,目前无法使用 Visual Studio 或 .NET Core 提供的工具来判断。但请注意,社区已经在此处请求此功能,因此您可以在此处发表您的意见。

目前,最好的选择是按照给定应用程序端口的步骤找出进程的 ID

  1. netstat -abon | findStr "127.0.0.1:{PORTNUMBER}"
  2. 找到上面返回的进程的 Id,为了更快地查找,名称将是dotnet.exe

如果你喜欢冒险,你可能想要使用类似 PowerShell 的东西,它会直接返回端口号:

 $string = netstat -abon | findStr "127.0.0.1:{PORTNUMBER}"; $results = $string.split(' '); $results[$results.length - 1]

推荐阅读