Add backtrace_current_ctx()
authorBarret Rhoden <brho@cs.berkeley.edu>
Fri, 29 Sep 2017 14:36:31 +0000 (10:36 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Fri, 29 Sep 2017 14:45:23 +0000 (10:45 -0400)
commit416de0097f4f0101c444e0ebae9c956f4a6b800e
tree97684b084f824f7d64a67aed5c4fcf10c22b0f65
parentf6d7d6a058977eaa6c32c62244c8434c80a8d89f
Add backtrace_current_ctx()

This is a convenience helper.  I'll use it for one-off tracing attempts.
For instance, in sys_openat(), you can do this:

if (!strcmp(path, "hello.txt"))
backtrace_current_ctx();

And then at runtime when catting hello.txt you'll see:

Backtrace of user context on Core 0:
Offsets only matter for shared libraries
 #01 Addr 0x00003000000d2cee is in libc-2.19.so at offset 0x00000000000d0cee
 #02 Addr 0x00003000000ca200 is in libc-2.19.so at offset 0x00000000000c8200
 #03 Addr 0x0000000000415f47 is in busybox at offset 0x0000000000015f47
 #04 Addr 0x002f3d4457500074 has no VMR

which you can pipe through scripts/bt-akaros.sh.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/include/kdebug.h
kern/src/kdebug.c