我有一个dotnet windows服务,当前挂起但正在运行。无论如何都有一个调试器,尽管没有符号;它已经在运行了吗?
答案 0 :(得分:5)
忽略“无符号”警告。一旦你连接了一个本机调试器(我更喜欢WinDbg这样的东西),然后加载SoS工具包:
.loadby sos mscorwks
现在,您可以使用!clrstack
命令获取托管调用栈,并希望能够为您提供足够的信息来确定挂起。如果不适合你的话,这里有a handy cheat-sheet和其他几个。
这次不会帮助你,但是......养成为调试和发布模式构建启用符号文件生成的习惯。没有理由不这样做,它会让你的生活在这样的情况下变得更容易。
答案 1 :(得分:2)
来自MS dev IDE 调试 - >流程 - >附加(选择进程后)。您可能必须单击“显示系统进程”框。可能没有有用的信息......
答案 2 :(得分:2)
以下是how to debug a hung .NET process上的示例代码,工具链接和演示文稿。
您可能还想观看this video presentation,其中包含相同的工具和示例。尽管网页上有瑞典文字,但视频仍为英文。