diff options
| author | Russ Cox <rsc@golang.org> | 2008-11-25 09:23:36 -0800 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2008-11-25 09:23:36 -0800 |
| commit | a5433369aa6c1b0ca2380d34fd99b41529a613fe (patch) | |
| tree | bf560d5844b4a60303cd6a986382ceb9ccc0a111 /src/runtime/runtime.h | |
| parent | afff0ff1b8442e9032266c392773a633604ff18c (diff) | |
| download | go-a5433369aa6c1b0ca2380d34fd99b41529a613fe.tar.xz | |
use pc/ln table to print source lines in traceback
r45=; 6.out
oops
panic PC=0x400316
0x400316?zi /home/rsc/go/src/runtime/rt0_amd64_linux.s:83
main·g(4195177, 0, 4205661, ...)
main·g(0x400369, 0x402c5d, 0x403e49, ...)
0x40034c?zi /home/rsc/go/src/runtime/x.go:24
main·f(4205661, 0, 4210249, ...)
main·f(0x402c5d, 0x403e49, 0x1, ...)
0x400368?zi /home/rsc/go/src/runtime/x.go:37
main·main(4210249, 0, 1, ...)
main·main(0x403e49, 0x1, 0x7fff9d894bd8, ...)
0x402c5c?zi /home/rsc/go/src/runtime/rt0_amd64.s:70
mainstart(1, 0, 2643020760, ...)
mainstart(0x1, 0x7fff9d894bd8, 0x0, ...)
r45=;
R=r
DELTA=251 (198 added, 25 deleted, 28 changed)
OCL=19965
CL=19979
Diffstat (limited to 'src/runtime/runtime.h')
| -rw-r--r-- | src/runtime/runtime.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/runtime/runtime.h b/src/runtime/runtime.h index 7ec9c7d9bb..409228d73f 100644 --- a/src/runtime/runtime.h +++ b/src/runtime/runtime.h @@ -189,9 +189,13 @@ struct SigTab struct Func { string name; - string type; - uint64 entry; - int64 frame; + string type; // go type string + string src; // src file name + uint64 entry; // entry pc + int64 frame; // stack frame size + Array pcln; // pc/ln tab for this func + int64 pc0; // starting pc, ln for table + int32 ln0; }; /* @@ -261,6 +265,7 @@ void signalstack(byte*, int32); G* malg(int32); void minit(void); Func* findfunc(uint64); +int32 funcline(Func*, uint64); /* * mutual exclusion locks. in the uncontended case, |
