Relay trace indenting?
Gregory M. Turner
gmturner007 at ameritech.net
Sun Mar 2 18:24:38 CST 2003
On Sunday 02 March 2003 05:57 pm, Duane Clark wrote:
> Just wondering if anyone has written a script or something that does
> indenting of relay traces. I don't know how other people handle these,
> but I find that I invariably spend a lot of time indenting the calls in
> relay trace files to make them easier to follow. It would seem like
> something that someone would already have an automated method of
> handling (or maybe I'm the only one that does this).
I've never seen such a thing but it would be really cool if it existed.
The hard, but really, really, really cool thing, I reckon, would be if we were
able to "automagically" indent them (presumably this is what you are looking
for anyhow). I imagine, if we took a "snapshot" of the stack on each
debugmsg, and compared it against the stack the next time a debugmsg was
issued, we could do it some, but not all of the time. API's that are just
internal "workhorse" API's can just always indent their debugmsg's; I tried
this for a while in the rpc code but found it was pretty difficult to
maintain that way, and, when it broke, disproportionately confusing to
fix.... so I reverted those in a subsequent patch. It is probably dangerous
to go crawling around following stack pointers every time a debugmsg is
issued, but maybe some careful exception handling code could handle the
fallout.
Of course, the performance hit would be disgusting... And compiler inlining
would break it... I guess it's probably more trouble than its worth...
unless someone knows of a better way? Could API snooping be re-jiggered,
somehow, to increment some static, thread-local integer on each call, and
decerement it on each return, for example?
--
gmt
More information about the wine-devel
mailing list