Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.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
.net 如何查找Threading.ThreadHelper.ThreadStart()方法的来源_.net_.net 3.5_Desktop - Fatal编程技术网

.net 如何查找Threading.ThreadHelper.ThreadStart()方法的来源

.net 如何查找Threading.ThreadHelper.ThreadStart()方法的来源,.net,.net-3.5,desktop,.net,.net 3.5,Desktop,我有一个.NET 3.5客户机/服务器应用程序,可以通过运行在windows 2003服务器上的本地网络上的RDP进行访问。当使用产品的一部分时,当我编写的代码没有实际执行时,屏幕会定期冻结。我使用最新的源代码等在服务器上运行了一个探查器,当延迟发生时(10秒延迟),没有使用处理器时间,也没有执行我的代码 使用探查器,我发现了一个堆栈跟踪,它从泛型Threading.ThreadHelper.ThreadStart()方法开始。它不会告诉我方法调用的起源,直到我知道我不知道如何找到出错的地方。堆

我有一个.NET 3.5客户机/服务器应用程序,可以通过运行在windows 2003服务器上的本地网络上的RDP进行访问。当使用产品的一部分时,当我编写的代码没有实际执行时,屏幕会定期冻结。我使用最新的源代码等在服务器上运行了一个探查器,当延迟发生时(10秒延迟),没有使用处理器时间,也没有执行我的代码

使用探查器,我发现了一个堆栈跟踪,它从泛型Threading.ThreadHelper.ThreadStart()方法开始。它不会告诉我方法调用的起源,直到我知道我不知道如何找到出错的地方。堆栈跟踪通过System.Net.ServicePoint.ReleaseAllConnectionGroups()和System.Net.Sockets.Socket.Close(int timeout)等方法进行。我们使用web服务调用,但没有一个是异步的,也没有一个在延迟时间附近被调用


有一个延迟是由某种网络超时引起的,但我无法从我发起呼叫的位置判断。我希望我能确定线程在哪里。。。方法,我可以找出哪里出了问题。我不知道从哪里开始。

不要看一个你没有开始的线程,这个线程不能冻结窗口更新。看看你的主线程,找出它阻塞了什么。如果没有帮助,请在您的问题中发布该线程的实际堆栈跟踪,而不是对其进行描述。

除了OP提出此问题的原因外,我还可以使用Visual Studio的
Threads
窗口查看原始线程的堆栈跟踪,该窗口可通过主菜单访问:

Debug->Windows->Threads
调试->窗口->线程+1-屏幕冻结在主线程上。开始注释程序的各个部分,直到程序正常运行,然后添加后面的部分,直到跟踪导致程序冻结的部分。