当前位置:Gxlcms > 数据库问题 > Why gdb crash if create too many threads ?

Why gdb crash if create too many threads ?

时间:2021-07-01 10:21:17 帮助过:19人阅读

gdb attach task时,如果创建过多线程,gdb会挂死,此时升级gdb版本或设置为non-stop模式可解决此问题。

 

I fought with similar gdb issues for a while. My case was having lots of threads spawned that executed few functions and then exited.
It appears if a thread exits too fast and there‘s lots of these happening sometimes gdb cannot keep up and when it fails, it fails with style as in crashes :) I think it tries to attach to a thread that is already done as per the error message.
I see this as an issue in gdb 6.5 to 7.6 and still happening. Did not try with older versions.
My advice is look for this use case or similar. Once I changed my design to have a thread serving a queue of requests gdb works flawlessly.
Design wise is healthier to have already created threads that digest actions than always spawning new threads.
Still same code debugs without a problem on Visual Studio so I do have to say that is a small disappointment to me with regards to gdb.

I use Eclipse and looking at the GDB traces (usually enabled by default) will give you a better hint of where GDB fails. One of the buttons on the console shows you the GDB trace.

https://stackoverflow.com/questions/16814706/how-does-gdb-attach-to-multi-threaded-process

Why gdb crash if create too many threads ?

标签:you   rds   fun   created   版本   att   queue   roc   解决   

人气教程排行