On Tue, Feb 08, 2005 at 10:24:29AM -0600, Dan Nelson wrote:
> In the last episode (Feb 08), Loren M. Lang said:
> > I'm looking for a replacement for the strace program I used to use on
> > linux; freebsd has a port of strace, but it just hangs everytime I
> > use it.  It looks like the bsd version of strace would be
> > ktrace/kdump.  I was able to get these to print a trace of the
> > program I ran, but it doesn't do all the nice substatuting that
> > strace was able to do. Mainly, I just want the first argument of open
> > to look like a string instead of a 32 bit pointer that I can't read. 
> > I'm trying to figure out what files this program is trying to read so
> > I can edit it's configuration file.
> 
> The string in the NAMI line immediately after an open() call is the
> filename in kdump output.

Oh, I never noticed this since I was using grep to filter out the open
suyscalls.  In strace everything is in one line.  Is there anything then
that will work like the -e option in strace so I can list just the
syscalls I want to see?

> 
> strace actually does work, but I think it's losing a race when it
> forks the child process.  Try suspending and resuming strace:
> 
> ([EMAIL PROTECTED]) /home/dan> strace date
> <hangs here, hit ^Z>
> ^Z
> zsh: 62219 suspended  strace date
> [1]  + suspended  strace date
> ([EMAIL PROTECTED]) /home/dan> fg
> [1]  + continued  strace date
> execve(0xbfbfdef4, [0xbfbfe3b8], [/* 0 vars */]) = 0
> mmap(0, 3920, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x28071000
> munmap(0x28071000, 3920)                = 0
> ...

This does work.

> 
> strace hasn't been updated in a while, though, and has problems parsing
> newer syscalls.  Take a look at the truss command in the base system,
> which does about the same thing as strace.  Ktrace has the advantage
> that it's less intrusive; both strace and truss have to stop the
> process to print out data, which really slow it down.
> 
> -- 
>       Dan Nelson
>       [EMAIL PROTECTED]

-- 
I sense much NT in you.
NT leads to Bluescreen.
Bluescreen leads to downtime.
Downtime leads to suffering.
NT is the path to the darkside.
Powerful Unix is.

Public Key: ftp://ftp.tallye.com/pub/lorenl_pubkey.asc
Fingerprint: B3B9 D669 69C9 09EC 1BCD  835A FAF3 7A46 E4A3 280C
 
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to