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