Asp.Net Core:Debug -Attach to process无法正常工作

时间:2018-03-15 11:02:29

标签: asp.net-core visual-studio-debugging

我们习惯于在.Net Framework中调试正在运行的“IISExpress”进程,方法是在Visual Studio中附加一个名为“iisexpress.exe”的进程。但是附加iisexpress进程并不适用于.Net核心。它显示消息 - “断点当前不会被命中。没有为此文档加载符号。”

4 个答案:

答案 0 :(得分:16)

要在.Net核心中调试正在运行的iisexpress实例,您必须在Visual Studio中附加“dotnet.exe”进程。

答案 1 :(得分:1)

在我的情况下,如果将Asp.Net Core 2.2与InProcess托管模型一起使用,那么可接受的答案将不起作用。但是,我应该从菜单Debug> Attach to process中进行选择,然后选择“显示所有用户的进程” 复选框(在进程列表下方),然后选择 “ iisexpress.exe” 。它可以正常工作并达到断点。

答案 2 :(得分:1)

在使用“ dotnet watch run”的Visual Studio 2019中,我无法再附加到“ dotnet.exe”进程,我将收到无法加载符号的错误,花了我一段时间才弄清楚,但我却附加了[正在运行的进程列表中的[项目名称] .exe,我可以成功地将调试器附加到已加载符号并进行调试的进程。

答案 3 :(得分:0)

  

Visual Studio不会加载所有dll(不知道为什么)。试试这个:

1)首先附加w3wp.exe(用于InProcess托管)或dotnet.exe(用于OutOfProcess托管)

2)手动加载符号:

转到“调试”>“ Windows”>“模块”(或尝试使用快捷键Ctrl + Alt + U)

搜索并选择要调试的dll(和相关的dll),然后右键单击>“加载符号”。