> execve takes down entire multi-threaded program, thus what you propose
> does not make sense: after execve in any thread, your multi-threaded
> program won't be there anymore.
> 
> Did you mean "track thread creation (clone), but not process creation
> ([v]fork that is)"?

I see how what I said was confusing, but I meant drop-on-exec;
when debugging a particular program binary, the goal is to see
all system calls made by that binary.  Which means tracing across
the vfork to see what parameters are passed to execve, but once
you change to a different text image, *then* is a good time
to drop it.

When debugging, execve() is a choke point for information transfer;
it's usually easy to run the target program from the shell if it's
misbehaving.

Also, it just seems more logical to break on a single system call
rather than analyzing the flags to clone().  (Do you depend on
CLONE_THREAD or CLONE_VM?)

Of course what *I* meant and what you, with your greater experience,
think is The Right Thing might be different.

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Strace-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/strace-devel

Reply via email to