我是线程新手,并使用pthread组合了一个基本的命令行应用程序。我使用pthread_create传递一个结构作为最后的参数;启动一个调用“void * thread_routine(void * arg)”的新线程。我做了一些值得注意的观察。 - 该程序并不总是提供相同的结果 - 大约10%的时间程序错误
在c ++中调试多线程应用程序时有哪些好的技巧?
答案 0 :(得分:0)
注意您的共享内存访问并使用日志记录查找错误。
答案 1 :(得分:0)
Segfault只是冰山的可见部分。这可能是竞争条件的结果,在这种情况下,您应该专注于确保线程正确同步。然后剩余的段错误应该与单线程应用程序不同。
答案 2 :(得分:0)
您可以使用适用于多线程程序的调试支持工具,例如GDB。 看看这些链接: