我如何执行以下操作之一?
- 是否从应用程序代码获取所有运行分叉线程(最好带有标签)的
ThreadID
列表? - 得到一个简单的(也许是近似的;例如,从最后一个主GC开始)、运行线程的计数
- 从
gdb
或类似文件中获取上述文件之一
对我不起作用的事情:
- 需要分析构建
- 维护一些数据结构来尝试自己跟踪这些信息
我觉得有希望的事:
- 编写一个自定义事件日志挂接以尝试获取此信息https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/runtime_control.html#hooks-to-change-rts-behaviour
- 以某种方式创建一个hacky RTS绑定
1条答案
按热度按时间wkyowqbh1#
全球碳氢化合物9.6 x一个电子零部件x一个月一个月
摘自GHC用户指南:
GHC现在提供了一组用于内省程序线程的操作GHC.Conc.listThreads,以及用于查询线程标签(GHC.Conc.threadLabel)和状态(GHC.Conc.threadStatus)的操作。