...
Run Format

Source file src/runtime/debug/stack.go

Documentation: runtime/debug

  // Copyright 2011 The Go Authors. All rights reserved.
  // Use of this source code is governed by a BSD-style
  // license that can be found in the LICENSE file.
  
  // Package debug contains facilities for programs to debug themselves while
  // they are running.
  package debug
  
  import (
  	"os"
  	"runtime"
  )
  
  // PrintStack prints to standard error the stack trace returned by runtime.Stack.
  func PrintStack() {
  	os.Stderr.Write(Stack())
  }
  
  // Stack returns a formatted stack trace of the goroutine that calls it.
  // It calls runtime.Stack with a large enough buffer to capture the entire trace.
  func Stack() []byte {
  	buf := make([]byte, 1024)
  	for {
  		n := runtime.Stack(buf, false)
  		if n < len(buf) {
  			return buf[:n]
  		}
  		buf = make([]byte, 2*len(buf))
  	}
  }
  

View as plain text