zoukankan      html  css  js  c++  java
  • Why gdb crash if create too many threads ?

    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

  • 相关阅读:
    c语言中重要函数
    python 类属性、对象属性
    windows下PIP安装模块编码错误解决
    python爬取百思不得姐视频
    ubuntu下刷新dns
    pycharm设置安装python第三方插件
    python将str转换成字典
    pyqt加载图片
    Python端口扫描器
    自己构造用于异步请求的JSON数据
  • 原文地址:https://www.cnblogs.com/redstar9451/p/8126016.html
Copyright © 2011-2022 走看看