我有一个在Linux上运行的进程,它创建了很多pThreads(每个都有自己的用途)。让我们说由于某种原因,其中一个线程崩溃了。有时,崩溃可能是由其他一些线程引起的,如果知道在崩溃之前运行了什么线程,那将是一件好事。
所以问题是: 有没有办法向Linux调度程序询问最后的线程是什么?
非常感谢任何帮助。 感谢。
答案 0 :(得分:2)
可能您知道Linux“top”命令可以显示您的进程打开的所有线程:
top -H -p“你的过程的pid”
我可能会帮助确定正在运行的线程数已停止或崩溃。
答案 1 :(得分:1)
你必须在内核代码中进行更改以在每个上下文切换时收集调度数据并在内存中的某个位置写入,这有点类似于PNE内核中可用的Flight recorder功能。