uaddr and friends
carlos antonio neira bustos
cneirabustos at gmail.com
Wed Apr 16 00:35:19 UTC 2014
Hi All,
I was looking at Dtrace todo list from https://wiki.freebsd.org/DTraceTODO
and started to work on : Get uaddr(), ufunc(), umod(), and usym() action
funtions working.
I have the data recording action (uaddr) working now, here is an
example:
root at bsd:/home/cneira # dtrace -n 'pid$target::main:{uaddr(uregs[R_PC])}'
-c ./test
dtrace: description 'pid$target::main:' matched 2 probes
abCPU ID FUNCTION:NAME
0 56282 main:entry
test`main+0x1
0 56281 main:return
test`main+0x23
dtrace: pid 9687 has exited
Here is the output of nm from the test binary I have used to check this
change.
U _init_tls@@FBSD_1.0
08048380 T _start
080483a0 t _start1
0804814c r abitag
U atexit@@FBSD_1.0
08048164 r crt_noinit_tag
080485c0 T dosomething
08049764 B environ
U exit@@FBSD_1.0
080484f0 t finalizer
08048560 t frame_dummy
08048590 T main
U putchar@@FBSD_1.0
root at bsd:/home/cneira # dtrace -c ./test -n 'pid$target::main:entry{
uaddr(0x080485c0); }'
dtrace: description 'pid$target::main:entry' matched 1 probe
abCPU ID FUNCTION:NAME
0 56281 main:entry
test`dosomething
dtrace: pid 9736 has exited
I'll continue working on the rest, how do I submit a patch with these
changes ?
Bests
More information about the freebsd-dtrace
mailing list