On Tue, May 4, 2010 at 11:23 AM, Yossi Lev <yosef....@sun.com> wrote:
> Hi
>
> I'm running a simple DTrace script that has the following clause:
>
> pid$target::ReportTx:entry
> /arg1 != 0 && this->numEntries != 0/
> {
>  printf("NumEntries: %lld\n", (long long)this->numEntries);
>  this->entry = 
> (ReadAcqEntry*)copyin((uintptr_t)&(this->rAcqArr[this->numEntries-1]),
>                                      sizeof(ReadAcqEntry));
>
>  this->pcInt = (uintptr_t)(this->entry->pc);
>  this->instr = stringof(this->pcInt);
> /* �...@acqtotals[this->instr] = sum(this->entry->acqNum);*/
>
>  this->numEntries--;
> }
>


What is this->rAcqArr in the code above?  Did you mean this to be a
thread-local variable instead of a clause-local variable?  Is it
possible that you're getting garbage because that array hasn't
persisted from where you initialized it?

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

Reply via email to