Commit 48bd1391 authored by Russ Cox's avatar Russ Cox

runtime: use GOTRACEBACK to decide whether to show runtime frames

Right now, GOTRACEBACK=0 means do not show any stack traces.
Unset means the default behavior (declutter by hiding runtime routines).

This CL makes GOTRACEBACK=2 mean include the runtime routines.
It avoids having to recompile the runtime when you want to see
the runtime in the tracebacks.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5633050
parent 0b9f0908
......@@ -507,6 +507,9 @@ contains(String s, int8 *p)
bool
runtime·showframe(Func *f)
{
// return 1; // for debugging - show all frames
return contains(f->name, ".") && !hasprefix(f->name, "runtime.");
static int32 traceback = -1;
if(traceback < 0)
traceback = runtime·gotraceback();
return traceback > 1 || contains(f->name, ".") && !hasprefix(f->name, "runtime.");
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment