我们一直在追踪我的WCF Web应用程序(W2K3 IIS)上的一个错误,导致堆栈溢出。
We've been chasing an bug on my WCF web application (W2K3 IIS) which was resulting in a stackoverflow.
要修复它我需要增加堆栈我的应用程序通过创建一个我想分配的内存量的线程。
To fix it I needed to increase the stack of my application by creating a thread with the amount of memory I wanted to allocate.
但子线程会发生什么?我的应用程序创建了许多线程,它们是继承值还是我必须用新值设置每个线程?
But what happens with the child threads? My app creates many threads, will they inherit the value or will I have to set every single thread with the new value?
编辑:如果我将(WCF)服务作为控制台主机运行,他们就可以正常工作。此外,如果我修改w3wp.exe的堆栈(使用EDITBIN),它们也可以在IIS上正常工作。 所以我需要增加堆栈。我知道我可以用堆栈大小创建一个线程(有另一种方式吗?)但我需要知道子线程会发生什么。
If I run the (WCF) services as a console host they work just fine. Also, If I modify the stack of the w3wp.exe (with the EDITBIN) they also work fine on IIS. So I need to increase the stack. I know I can create a thread with the stack size (is there another way?) but I need to know what happens with the child threads.
Edit2:我们需要定义一些导致堆栈溢出的BIG向量。所以它不是我们系统中的错误。我真的需要(有)增加堆栈
We need to define some BIG vectors which are resulting in a stack overflow. So it is not a bug in our system. I really need (have) to increase the stack
推荐答案自己尝试后我可以说是的! 子线程保持父线程上的堆栈数量。
After trying it myself I can say yes! Child threads keep the amount of stack set on the parent thread.
更多推荐
IIS堆栈溢出
发布评论