By `arg1` in the original example I meant "`arg1` from the entry probe, used in 
the return probe".

I was trying to simplify - `arg1` is named something else in the actual script:

pid$target::sqlite3_open:entry,
{
    self->entry[probefunc, "arg1"] = arg1;
}

pid$target::sqlite3_open:return
/self->entry[probefunc, "arg1"] != 0 /
{
    a1_entry = self->entry[probefunc, "arg1"];
    self->entry[probefunc, "arg1"] = 0;
    print(copyin(a1_entry, sizeof(uintptr_t)));
}


My program is 64bit.

So just to confirm, this is the correct way to get the second pointer from the 
first:
(uintptr_t *)copyin(self->pointer, sizeof(uintptr_t))

I just need to make sure I am copying the correct amount of bytes for the 
pointer?


------------------------------------------
DTrace: dtrace-discuss
Permalink: 
https://dtrace.topicbox.com/groups/dtrace-discuss/T77c99e52f2852435-M5e6545eea150fbbc3fcf4148
Delivery options: https://dtrace.topicbox.com/groups/dtrace-discuss/subscription

Reply via email to