C#Visual Studio在启动调试器时悬挂了很长时间



我的winforms应用程序对local dll文件的引用称为myutilities.dll。每当我在更改任何代码之后开始调试我的应用时,并且达到了它在Myutilitys.dll中使用网络调用的点vs,它提出了弹出窗口,上面写着它是" roading符号的myutilities.dll"。

这是有趣的地方:

  1. PDB文件未使用EFS加密。
  2. 仅启用了我的代码调试。
  3. 我什至将myutilities.dll添加到排除列表中。
  4. CPU使用时并没有真正挂起。
  5. 我尝试使用过程监视器(Procmon(观看活动,但我看不到任何异常,但我可能正在看错误的事情...
  6. 我同时加载了提琴手,看看它是否是一个长远程API调用1秒。
  7. 我尝试将DLL文件复制到SSD上的其他文件夹并从那里引用它,但没有区别。
  8. 如果我再次启动/重新启动调试器而没有任何代码更改,则不会冻结。

现在,在恢复运行后,我可以在输出中看到它没有加载符号(:

'MyApp.exe' (blah blah): Loaded 'C:...binDebugMyUtilities.dll'. Loading disabled by Include/Exclude setting.

关于可能导致冻结的什么想法?我正在运行与2017年社区。

弄清楚了。在进一步分析过程监视器之后,我注意到" mailslot net netlogon"的条目类似:

11:21:04    CreateFile    \MYPC*MAILSLOTNETNETLOGIN    SUCCESS
11:21:04    WriteFile     \MYPC*MAILSLOTNETNETLOGIN    BAD NETWORK PATH
11:21:17    CloseFile     \MYPC*MAILSLOTNETNETLOGIN    SUCCESS

基于此,我发现了这个堆叠的问题:Visual Studio 2012慢单元测试

...这使我进入了这篇文章:

最终结果:进入每个网络适配器,转到其属性,进入Internet协议版本4(TCP/IPV4(属性,转到高级 -> WINS,并通过TCP/IP禁用NetBios。

这样做之后,一切正常(甚至不需要重新启动(。

最新更新