1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
--
-- trace-memcpy.lua
--
-- uftrace-option: --nest-libcall -T memcpy@filter,arg3
--
-- void *memcpy(void *dest, const void *src, size_t n);
--
-- Only "memcpy" calls this script and other functions never.
UFTRACE_FUNCS = { 'memcpy' }
count = 0
total_bytes = 0
function uftrace_begin(ctx)
end
function uftrace_entry(ctx)
count = count + 1
if ctx['args'] ~= nil then
total_bytes = total_bytes + ctx['args'][1]
end
end
function uftrace_exit(ctx)
end
function uftrace_end()
print(count .. ' times memcpy called')
print(total_bytes .. ' bytes copied')
end
|