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# WInform 自定义导航布局
    c# 关于DataTable
    Sql Server 表结构相关
    C# winform 文件管理
    c# SqlBulkCopy实现批量从数据集中把数据导入到数据库中
    C# winform 动态操作webService
    c# Winform实现发送邮件
    C# 网络编程 TcpListener
    1122考试T2
    1121考试总结
  • 原文地址:https://www.cnblogs.com/redstar9451/p/8126016.html
Copyright © 2011-2022 走看看