This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH tracing/kprobes 5/7] tracing/kprobes: Add argument name support


On Thu, 2009-09-10 at 19:53 -0400, Masami Hiramatsu wrote:

> @@ -870,9 +892,13 @@ print_kprobe_event(struct trace_iterator *iter, int flags)
>  {
>  	struct kprobe_trace_entry *field;
>  	struct trace_seq *s = &iter->seq;
> +	struct trace_event *event;
> +	struct trace_probe *tp;
>  	int i;
>  
>  	field = (struct kprobe_trace_entry *)iter->ent;
> +	event = ftrace_find_event(field->ent.type);
> +	tp = container_of(event, struct trace_probe, event);

Can this function be called the data is in the ring buffer, but the
probe has been unregistered? If so, the result of ftrace_find_event be
NULL?

-- Steve

>  
>  	if (!seq_print_ip_sym(s, field->ip, flags | TRACE_ITER_SYM_OFFSET))
>  		goto partial;
> @@ -881,7 +907,8 @@ print_kprobe_event(struct trace_iterator *iter, int flags)
>  		goto partial;
>  
>  	for (i = 0; i < field->nargs; i++)
> -		if (!trace_seq_printf(s, " 0x%lx", field->args[i]))
> +		if (!trace_seq_printf(s, " %s=%lx",
> +				      tp->args[i].name, field->args[i]))
>  			goto partial;
>  
>  	if (!trace_seq_puts(s, "\n"))



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]