我的winforms应用程序对local dll文件的引用称为myutilities.dll。每当我在更改任何代码之后开始调试我的应用时,并且达到了它在Myutilitys.dll中使用网络调用的点vs,它提出了弹出窗口,上面写着它是" roading符号的myutilities.dll"。
这是有趣的地方:
- PDB文件未使用EFS加密。
- 仅启用了我的代码调试。
- 我什至将myutilities.dll添加到排除列表中。
- CPU使用时并没有真正挂起。
- 我尝试使用过程监视器(Procmon(观看活动,但我看不到任何异常,但我可能正在看错误的事情...
- 我同时加载了提琴手,看看它是否是一个长远程API调用1秒。
- 我尝试将DLL文件复制到SSD上的其他文件夹并从那里引用它,但没有区别。
- 如果我再次启动/重新启动调试器而没有任何代码更改,则不会冻结。
现在,在恢复运行后,我可以在输出中看到它没有加载符号(:
'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。
这样做之后,一切正常(甚至不需要重新启动(。