首页 > 数据库技术 > 详细

Why gdb crash if create too many threads ?

时间:2017-12-27 16:30:38      阅读:244      评论:0      收藏:0      [点我收藏+]

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 ?

原文:https://www.cnblogs.com/redstar9451/p/8126016.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!