我已经在 Linux(Ubuntu 11.04 64 位内核 2.6.38)下为网络开发多线程服务器(使用 Pthreads)大约 2 个月了。
目前代码大约是 7000 行 C
。我一直在多个客户端连接到它并获得服务的网络中使用它。它一直运行得很顺利。
突然间我遇到了一些奇怪的问题。时不时地(大约十分之一)服务器由于段错误而崩溃。我查看了所有代码,但似乎无法找到这背后的真正原因。任何人都可以指导我这里可能出了什么问题或者我应该尝试找到实际错误的哪些事情吗?
最佳答案
- 启用核心文件生成。当应用程序崩溃时,加载调试器
- 使用带内存检查的 valgrind 运行您的应用程序
- 编写单元测试。很多,并将覆盖率提高到 100%。
- 使用 valgrind's hellgrind 对您的应用程序进行压力测试测试多线程应用程序
关于c - 多线程服务器中的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10181154/