|
![](/i/fill.gif) |
>> Subject: Man oh man
>
> I see what you did there. ;)
:-D
> It's a good thing you weren't reading the man page for mplayer, postconf,
> or smb.conf - those are all over 10,000 lines long on my system.
>
> Comparatively speaking, ptrace(2) is relatively short (only about 1,000
> lines). ;)
Sure. But look at the number of ifs, buts, elses and gotchas... That's a
LOT of information to absorb.
On the one hand, it appears that essentially what strace does is fairly
simple; execute the right ptrace() call, and the tracee will go to sleep
every time it gets a signal or does a system call. You call ptrace()
again to query what happened, and then resume the tracee.
On the other hand... all those ifs and buts... CLEARLY this stuff is
really, really fiddly to get right! (And don't even get me started on
decoding the system calls.)
Having read the manpage, it appears that parsing the text output of
strace is probably going to be easier than reimplementing it to output
XML or something.
(I did take a look at the source code for strace... Every single source
file contains hundreds of printf() calls. I was hoping for more
abstraction than that. Clearly there's no way of altering what its
output looks like without months of work.)
Post a reply to this message
|
![](/i/fill.gif) |