我想调试运行多个 TCP 服务器线程的 C 程序。我无法设置复杂的调试工具,因为我必须在嵌入式 linux(busy box)中进行调试。我希望它能原生支持 gdb。
所以我开始使用 gdb。一旦我输入运行,服务器似乎在后台运行,但 gdb 返回提示和“程序接收信号 SIG64(实时事件 64)”消息(我猜与 pthread 相关)。我知道它必须与主线程 fork 成几个线程有关。但我不知道如何调试它。任何起点都会很有帮助。
此外,是否有其他“跟踪”,例如调试器,我可以使用占用空间小的东西?
请帮忙
最佳答案
大多数情况下,使用调试器调试多线程应用程序很困难。最好的方法是要么尝试将错误隔离到单线程情况,要么在可疑位置使用调试打印,直到发现错误。
这对您的具体问题没有帮助,但这是我在使用多线程应用程序(尤其是嵌入式应用程序)时学到的最佳建议。
关于c - 多线程调试C程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7412540/