as implied in the first email ( below ) ,
the only thing that I see as different between this particular process
and any other
is that 
a) the executable is 8.5 megs as it sits on the disk
b) the executable has at least 10 threads in it.


wr



-----Original Message-----
From: dtrace-discuss-boun...@opensolaris.org
[mailto:dtrace-discuss-boun...@opensolaris.org] On Behalf Of Michael
Schuster
Sent: Tuesday, May 11, 2010 1:38 AM
To: dtrace-discuss@opensolaris.org
Subject: Re: [dtrace-discuss] dtrace / c++ / lots of threads

On 10.05.10 21:01, William Reich wrote:
> only this process fails -
>
> ./adc.d 24930
> dtrace: failed to compile script  ./adc.d: line 7: failed to grab
> process 24930
>
>
> This script works fine on any other process.

so then the obvious question is: what's different about that 
process/program? are you running it under a debugger or truss?

Michael
-- 
michael.schus...@oracle.com     http://blogs.sun.com/recursion
++++++++++++++++++++++++++++++++++++

I have a very simple dtrace script ( shown below ).
This script works on simple programs just fine.

Now I want to use this script on a large C++ executable.
The executable is 8.5 meg in size on a x86 platform.
This executable has more than 10 threads in it.

I try to execute that  the dtrace script and I get this error - 

./adc.d 24930
dtrace: failed to compile script  ./adc.d: line 7: failed to grab
process 24930

What is the error really trying to tell me ?

wr
#######################

#!/usr/sbin/dtrace -qs
BEGIN
{       flag =  1 ; }

END
{       flag = 0 ; }
pid$1:::entry
{
self->t[probefunc] = timestamp ;
}

pid$1:::return
/self->t[probefunc] && flag /
{       this->time = timestamp - self->t[probefunc] ;
        @[probefunc] = avg(this->time) ;
        self->t[probefunc] = 0 ;
}

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

Reply via email to