相关疑难解决方法(0)

如何转储goroutine stacktraces?

我有Java背景,我喜欢使用信号QUIT来检查Java线程转储.

如何让Golang打印出所有goroutines堆栈跟踪?

go

77
推荐指数
9
解决办法
6万
查看次数

如何转储所有Go进程的堆栈?

Go进程正在运行.我想要

  1. 转储每个goroutine的堆栈跟踪
  2. 从外部,不依赖于我添加到其源代码中的任何内容
  3. 没有杀死它.

我怎样才能做到这一点?

这应该很简单 - 请求功能:https://code.google.com/p/go/issues/detail?id = 2516,并根据该主题的结论,实施.那是两年多以前的事了.但是问题线程和提交都没有包含关于如何调用此功能的任何提示.

功能请求提到SIGQUIT调用JVM上的相应功能,但事实并非如此; 至少在go1.2上,SIGQUIT做#1和#2但也杀死了这个过程.

有人在前面问了一个相关的问题:如何转储goroutine stacktraces? 但他们没有明确要求#2或#3,没有一个答案符合#2,他们接受了不符合#2的答案.所以这是一个不同的问题.

go

10
推荐指数
2
解决办法
4581
查看次数

标签 统计

go ×2