Man page - tep_find_function(3)
Packages contains this manual
- tep_plugin_kvm_put_func(3)
- tep_register_event_handler(3)
- trace_seq_do_fprintf(3)
- tep_print_func_field(3)
- tep_set_file_bigendian(3)
- trace_seq_reset(3)
- tep_filter_free(3)
- tep_ref(3)
- tep_list_events_copy(3)
- tep_get_any_field_val(3)
- kbuffer_missed_events(3)
- tep_load_plugins_hook(3)
- tep_set_page_size(3)
- kbuffer_event_size(3)
- tep_filter_strerror(3)
- tep_print_event(3)
- kbuffer_subbuffer(3)
- tep_set_test_filters(3)
- kbuffer_read_event(3)
- tep_filter_reset(3)
- tep_filter_compare(3)
- tep_kbuffer(3)
- tep_data_pid_from_comm(3)
- tep_find_any_field(3)
- tep_list_events(3)
- tep_get_long_size(3)
- tep_data_pid(3)
- tep_clear_flag(3)
- tep_get_sub_buffer_size(3)
- tep_print_field_content(3)
- tep_get_first_event(3)
- kbuffer_alloc(3)
- tep_find_function(3)
- tep_get_header_page_size(3)
- tep_register_comm(3)
- trace_seq_putc(3)
- kbuffer_curr_index(3)
- kbuffer_refresh(3)
- tep_record_is_event(3)
- tep_parse_kallsyms(3)
- tep_print_printk(3)
- tep_event_fields(3)
- tep_find_function_info(3)
- tep_get_events_count(3)
- tep_read_number(3)
- trace_seq_vprintf(3)
- tep_get_field_val(3)
- tep_set_function_resolver(3)
- tep_parse_saved_cmdlines(3)
- tep_parse_header_page(3)
- tep_get_page_size(3)
- tep_override_comm(3)
- tep_data_flags(3)
- kbuffer_subbuf_timestamp(3)
- kbuffer_subbuffer_size(3)
- tep_get_ref(3)
- tep_get_event(3)
- tep_alloc(3)
- tep_is_old_format(3)
- tep_find_event(3)
- kbuffer_dup(3)
- tep_unref(3)
- trace_seq_destroy(3)
- trace_seq_init(3)
- trace_seq_terminate(3)
- kbuffer_curr_offset(3)
- tep_get_field_raw(3)
- tep_plugin_kvm_get_func(3)
- tep_set_cpus(3)
- tep_set_local_bigendian(3)
- tep_data_comm_from_pid(3)
- tep_event_common_fields(3)
- tep_plugin_add_option(3)
- tep_test_flag(3)
- tep_filter_make_string(3)
- tep_unregister_event_handler(3)
- kbuffer_curr_size(3)
- tep_find_event_by_record(3)
- tep_filter_remove_event(3)
- tep_print_num_field(3)
- tep_cmdline_pid(3)
- tep_free(3)
- tep_get_sub_buffer_data_size(3)
- tep_load_plugins(3)
- tep_print_fields(3)
- tep_register_function(3)
- tep_record_print_fields(3)
- kbuffer_load_subbuffer(3)
- tep_data_preempt_count(3)
- tep_find_common_field(3)
- tep_find_event_by_name(3)
- tep_set_long_size(3)
- tep_reset_function_resolver(3)
- tep_filter_alloc(3)
- kbuffer_timestamp(3)
- tep_find_field(3)
- tep_get_header_timestamp_size(3)
- tep_plugin_print_options(3)
- trace_seq_printf(3)
- tep_set_flag(3)
- tep_unload_plugins(3)
- tep_is_bigendian(3)
- trace_seq_puts(3)
- kbuffer_read_buffer(3)
- tep_unregister_print_function(3)
- tep_get_cpus(3)
- tep_get_common_field_val(3)
- kbuffer_start_of_data(3)
- tep_is_local_bigendian(3)
- tep_print_funcs(3)
- tep_is_file_bigendian(3)
- tep_filter_copy(3)
- tep_set_loglevel(3)
- tep_filter_add_filter_str(3)
- tep_data_type(3)
- tep_register_print_string(3)
- tep_filter_match(3)
- kbuffer_next_event(3)
- tep_read_number_field(3)
- tep_get_function_count(3)
- tep_find_function_address(3)
- tep_add_plugin_path(3)
- tep_parse_event(3)
- trace_seq_do_printf(3)
- kbuffer_free(3)
- tep_record_print_selected_fields(3)
- tep_parse_printk_formats(3)
- libtraceevent(3)
- tep_is_pid_registered(3)
- tep_parse_format(3)
- tep_strerror(3)
- tep_register_print_function(3)
- tep_event_filtered(3)
apt-get install libtraceevent-doc
Manual
LIBTRACEEVENT
NAMESYNOPSIS
DESCRIPTION
RETURN VALUE
EXAMPLE
FILES
SEE ALSO
AUTHOR
REPORTING BUGS
LICENSE
RESOURCES
NOTES
NAME
tep_find_function, tep_find_function_address, tep_find_function_info - Find function name / start address.
SYNOPSIS
#include <event-parse.h>
const char
*
tep_find_function
(struct tep_handle *
tep
,
unsigned long long
addr
);
unsigned long long
tep_find_function_address
(struct
tep_handle *
tep
, unsigned long long
addr
);
int
tep_find_function_info
(struct tep_handle
*
tep
, unsigned long long
addr
, const char
**
name
,
unsigned long long *
start
, unsigned long
*
size
);
DESCRIPTION
These functions can be used to find function name and start address, by given address. The given address does not have to be exact, it will select the function that would contain it.
The tep_find_function() function returns the function name, which contains the given address addr . The tep argument is the trace event parser context.
The tep_find_function_address() function returns the function start address, by given address addr . The addr does not have to be exact, it will select the function that would contain it. The tep argument is the trace event parser context.
The tep_find_function_info() function retrieves the name , starting address ( start ), and the function text size of the function at address , if it is found. Note, if the tep handle has a function resolver (used by perf), then size is set to zero.
RETURN VALUE
The tep_find_function() function returns the function name, or NULL in case it cannot be found.
The tep_find_function_address() function returns the function start address, or 0 in case it cannot be found.
The tep_find_function_info() function returns 1 if a function is found for the given address, or 0 if it is not.
EXAMPLE
#include
<event-parse.h>
...
struct tep_handle *tep = tep_alloc();
...
void show_function_name(unsigned long long addr)
{
const char *fname = tep_find_function(tep, addr);
if (fname)
printf("Found function %s at 0x%0llx\n", fname,
addr);
else
printf("No function found at 0x%0llx\n", addr);
}
void
show_function_start_addr(unsigned long long addr)
{
const char *fname = tep_find_function(tep, addr);
unsigned long long fstart;
if (!fname) {
printf("No function found at 0x%0llx\n", addr);
return;
}
fstart =
tep_find_function_address(tep, addr);
printf("Function %s at 0x%llx starts at
0x%0llx\n",
fname, addr, fstart);
}
void
show_function_info(unsigned long long addr)
{
const char *fname;
unsigned long long fstart;
unsigned long size;
ret =
tep_find_function_info(tep, addr, &fname, &fstart,
&size);
if (!ret) {
printf("No function found at 0x%0lx\n", addr);
return;
}
printf("Function
%s at 0x%lx starts at 0x%0lx and is %ld in size\n",
fname, addr, fstart, size);
}
...
FILES
event-parse.h
Header file to include in order to have access to the
library APIs.
-ltraceevent
Linker switch to add when building a program that uses the
library.
SEE ALSO
libtraceevent (3), trace-cmd (1)
AUTHOR
Steven
Rostedt
<
rostedt@goodmis.org
[1]
>, author of
libtraceevent
.
Tzvetomir Stoyanov
<
tz.stoyanov@gmail.com
[2]
>, author of this man
page.
REPORTING BUGS
Report bugs to < linux-trace-devel@vger.kernel.org [3] >
LICENSE
libtraceevent is Free Software licensed under the GNU LGPL 2.1
RESOURCES
https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/
NOTES
|
1. |
rostedt@goodmis.org |
mailto:rostedt@goodmis.org
|
2. |
tz.stoyanov@gmail.com |
mailto:tz.stoyanov@gmail.com
|
3. |
linux-trace-devel@vger.kernel.org |
mailto:linux-trace-devel@vger.kernel.org