Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何知道在发布版上构建的.net进程中挂起的方法_C#_.net_Visual Studio 2010 - Fatal编程技术网

C# 如何知道在发布版上构建的.net进程中挂起的方法

C# 如何知道在发布版上构建的.net进程中挂起的方法,c#,.net,visual-studio-2010,C#,.net,Visual Studio 2010,我有一个挂起在未知位置的.net进程的转储文件。我需要知道挂起的方法。应用程序非常复杂,有许多线程,挂起是随机发生的 当它发生在我的机器或客户机上时,我曾尝试连接visual studio,但无法使用挂起方法。是否有任何工具可以调查转储文件中的问题 编辑 悬挂线程是主UI线程。其他线程正在工作,因为它们记录了它们的活动。因为您已经有内存转储,您可以使用Windbg分析它们。有关使用Windbg诊断挂起的精彩教程,请参阅Tess Fernandez的博客 如果这是您已构建的应用程序,则还应使用调试

我有一个挂起在未知位置的.net进程的转储文件。我需要知道挂起的方法。应用程序非常复杂,有许多线程,挂起是随机发生的

当它发生在我的机器或客户机上时,我曾尝试连接visual studio,但无法使用挂起方法。是否有任何工具可以调查转储文件中的问题

编辑
悬挂线程是主UI线程。其他线程正在工作,因为它们记录了它们的活动。

因为您已经有内存转储,您可以使用Windbg分析它们。有关使用Windbg诊断挂起的精彩教程,请参阅Tess Fernandez的博客


如果这是您已构建的应用程序,则还应使用调试符号构建发布配置。在调试类似情况时,这会有很大帮助。

是挂起还是进入无限循环并占用处理器时间?我不确定,但处理器是50%,但除了UI线程之外还有许多线程。在多核机器上,您可以让任务管理器分别显示每个核心。如果一个核心是100%,那么它很可能是UI线程中的无限循环。这是不正确的,尝试无限循环,在一个简单的控制台应用程序中,它不会使只有一个核心占100%,负载在所有核心上。我正在i7机器上尝试。我有没有“调试符号”的转储文件(我如何调试它?