Hi all,

I'm using dtrace (SunOS 5.10 Generic_142900-03 sun4v sparc) to track the ustack of certain troublesome function calls, but leaf functions which don't have a stack frame of their own are causing problems.

For example, dtrace's ustack() might report the following:
a.out`frameless_leaf+0x10
a.out`random_function+0x9c

...when in fact random_function+0x9c is actually a call to some_other_function. Printing the stack trace from dbx shows what's really going on:

[1] frameless_leaf()
[2] true_caller()
[3] some_other_function()
[4] random_function()

I tried uaddr(uregs[R_O7]), but it may point to some_other_function rather than true_caller, or complete garbage for other stack frames.

Is this a known limitation/bug? For now I'm using the O7 trick and post-processing to remove the most glaring deficiencies but a real solution would be nice.

Regards,
Ryan

_______________________________________________
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org

Reply via email to