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

  • 相关阅读:
    python基础--文件操作实现全文或单行替换
    python基础7--集合
    python读写json文件
    python基础6--目录结构
    python基础5--模块
    Ubuntu的一些常用快捷键
    ubuntu dpkg 命令详解
    linux(Ubuntu)安装QQ2013
    fcitx-sogoupinyin下载地址和安装
    Ubuntu下装QQ2014
  • 原文地址:https://www.cnblogs.com/redstar9451/p/8126016.html
Copyright © 2011-2022 走看看