【问题标题】:Eclipse CDT: Thread is getting SIGPIPE in debugging modeEclipse CDT:线程在调试模式下获取 SIGPIPE
【发布时间】:2014-05-28 12:42:58
【问题描述】:

有一个用 C 语言编写的工具,基于套接字编程和多线程。 如果我只是简单地运行该工具,则不会出现错误,并且该工具可以完美地工作。

但如果我在调试模式下运行该工具,线程之间的切换会引发 SIGPIPE 信号,因此数据无法从该工具传输到其服务器。

使用 SIGNAL(SIGPIPE, SIG_IGN) 处理 SIGPIPE 会使线程工作吗?

据我了解,这是由于线程之间的进程间通信失败而引起的。如果是,那么如何调试这样的多线程应用程序?

请建议我处理此问题的方法。

【问题讨论】:

    标签: gdb eclipse-cdt sigpipe


    【解决方案1】:

    通过仔细进入线程解决了这个问题。 该工具不仅会创建进程,还会创建线程,因此不正确的 gdbinit 设置和步进会引发 SIGPIPE 信号。

    其他相关帖子here对此进行了说明。

    【讨论】:

      猜你喜欢
      • 2015-07-15
      • 2020-11-24
      • 2019-07-21
      • 1970-01-01
      • 2012-10-08
      • 2017-03-16
      • 2011-04-25
      • 2012-05-13
      • 1970-01-01
      相关资源
      最近更新 更多