On Tue, May 4, 2010 at 12:58 PM, Yossi Lev <yosef....@sun.com> wrote: > > Moreover, I know that the value that I'm getting is valid, because I had the > following printf statement: > > 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);*/ > > printf("%p\t%d\t%d\t%d\n", > this->entry->pc, > this->entry->acqNum, > this->entry->upgradeNum + this->entry->contUpgradeNum, > this->entry->contUpgradeNum); > this->numEntries--; > } > > and the results look fine. The only problem is when I un-comment the > stringof statement.
So this->entry->ps is a userspace pointer? If that's the case, then you want copyinstr(), not stringof(). Chad _______________________________________________ dtrace-discuss mailing list dtrace-discuss@opensolaris.org