I use crxprof as a great tool to profile dynamic libs because of complicated native library profiling process. It works in most cases but I noticed that some symbols are skipped:
functions that was compiled as "static" and didn't exported. I solved this problem by removing "static" keyword from source code (but this isn't good practice )
it doesn't see sometimes functions that shows objdump.
The second problem is more interesting. I noticed that e.g. cairo doesn't presented at all: I see many gtk and gdk functions but not cairo. I'm not skilled with binary ELF data format but I can say that crxprof doesn't see cairo by 2 reasons:
(es->symbol_class == 'T' || es->symbol_class == 'W') condition mismatch (actually es->symbol_class = 'U'). I don't know what does 'U' mean, I didn't find any documentation about binutils.
es->symbol_value too big and doesn't pass second condition ((off_t)es->symbol_value >= load_offset && (off_t)es->symbol_value < load_end)
$ objdump -T /usr/lib64/libcairo.so.2.10800.8 | grep cairo_
00000032054103b0 g DF .text 000000000000003a Base cairo_rectangle_list_destroy
0000003205440570 g DF .text 0000000000000022 Base cairo_xlib_surface_create_for_bitmap
0000003205423e40 g DF .text 00000000000000de Base cairo_pattern_create_for_surface
0000003205428600 g DF .text 00000000000002eb Base cairo_scaled_font_glyph_extents
00000032054124f0 g DF .text 000000000000001b Base cairo_font_options_get_subpixel_order
000000320540f720 g DF .text 0000000000000028 Base cairo_set_line_join
000000320545b220 g DF .text 0000000000000054 Base cairo_svg_surface_create
000000320540e220 g DF .text 0000000000000111 Base cairo_text_extents
000000320540e690 g DF .text 000000000000002f Base cairo_clip_preserve
000000320540f630 g DF .text 0000000000000028 Base cairo_rotate
000000320543fe40 g DF .text 0000000000000031 Base cairo_xlib_surface_get_display
000000320540ef60 g DF .text 0000000000000085 Base cairo_line_to
00000032054215b0 g DF .text 0000000000000022 Base cairo_pattern_get_surface
000000320540db60 g DF .text 0000000000000019 Base cairo_get_tolerance
000000320540f750 g DF .text 0000000000000028 Base cairo_set_line_cap
000000320540e6c0 g DF .text 0000000000000012 Base cairo_clip
000000320543fd80 g DF .text 0000000000000031 Base cairo_xlib_surface_get_visual
000000320540f990 g DF .text 0000000000000093 Base cairo_set_source_rgba
0000003205412400 g DF .text 0000000000000055 Base cairo_font_options_equal
0000003205431170 g DF .text 000000000000006b Base cairo_user_font_face_set_text_to_glyphs_func
0000003205412460 g DF .text 0000000000000027 Base cairo_font_options_hash
000000320544ef70 g DF .text 00000000000000e2 Base cairo_ps_surface_dsc_comment
00000032054288f0 g DF .text 00000000000000dd Base cairo_scaled_font_text_extents
0000003205421230 g DF .text 000000000000000c Base cairo_pattern_set_extend
000000320540f2f0 g DF .text 000000000000012e Base cairo_text_path
0000003205431330 g DF .text 0000000000000006 Base cairo_version
000000320541d320 g DF .text 0000000000000032 Base cairo_path_destroy
0000003205424570 g DF .text 0000000000000101 Base cairo_pattern_destroy
000000320540dcb0 g DF .text 0000000000000019 Base cairo_device_to_user
0000003205411860 g DF .text 0000000000000007 Base cairo_font_face_get_type
0000003205411bc0 g DF .text 0000000000000009 Base cairo_font_face_get_user_data
000000320543fdc0 g DF .text 0000000000000031 Base cairo_xlib_surface_get_screen
0000003205411890 g DF .text 0000000000000004 Base cairo_font_face_status
000000320540e340 g DF .text 000000000000004f Base cairo_get_scaled_font
0000003205421240 g DF .text 0000000000000004 Base cairo_pattern_get_extend
0000003205412590 g DF .text 0000000000000022 Base cairo_font_options_destroy
000000320540e480 g DF .text 0000000000000028 Base cairo_set_font_matrix
000000320540ea60 g DF .text 0000000000000028 Base cairo_paint
0000003205457460 g DF .text 000000000000001e Base cairo_svg_version_to_string
0000003205429c90 g DF .text 000000000000001a Base cairo_surface_get_device_offset
000000320540fee0 g DF .text 0000000000000113 Base cairo_destroy
000000320544b170 g DF .text 0000000000000042 Base cairo_ps_surface_get_eps
00000032054311e0 g DF .text 000000000000006b Base cairo_user_font_face_set_render_glyph_func
000000320540ee40 g DF .text 000000000000011e Base cairo_curve_to
000000320540dc50 g DF .text 000000000000001c Base cairo_new_sub_path
000000320540f810 g DF .text 0000000000000028 Base cairo_set_antialias
00000032054260a0 g DF .text 0000000000000009 Base cairo_scaled_font_get_user_data
0000003205446ad0 g DF .text 0000000000000021 Base cairo_image_surface_create_from_png_stream
000000320540e980 g DF .text 000000000000004c Base cairo_mask
0000003205411af0 g DF .text 0000000000000015 Base cairo_font_face_reference
000000320540e750 g DF .text 000000000000006e Base cairo_stroke_extents
0000003205425930 g DF .text 0000000000000013 Base cairo_scaled_font_get_reference_count
0000003205425a60 g DF .text 0000000000000058 Base cairo_scaled_font_get_scale_matrix
00000032054214a0 g DF .text 000000000000002a Base cairo_pattern_get_color_stop_count
0000003205418fc0 g DF .text 0000000000000204 Base cairo_matrix_invert
00000032054310c0 g DF .text 0000000000000034 Base cairo_user_font_face_get_init_func
000000320540e7c0 g DF .text 000000000000005c Base cairo_in_fill
000000320540dd30 g DF .text 000000000000002a Base cairo_get_dash_count
000000320540f7e0 g DF .text 0000000000000028 Base cairo_set_fill_rule
000000320540d8b0 g DF .text 0000000000000013 Base cairo_get_reference_count
000000320540f6f0 g DF .text 0000000000000028 Base cairo_set_dash
0000003205422450 g DF .text 0000000000000014 Base cairo_pattern_set_user_data
000000320540e8b0 g DF .text 0000000000000028 Base cairo_copy_page
000000320543fd00 g DF .text 0000000000000031 Base cairo_xlib_surface_get_width
0000003205411c70 g DF .text 0000000000000203 Base cairo_toy_font_face_create
000000320540edb0 g DF .text 0000000000000085 Base cairo_rel_move_to
0000003205416b40 g DF .text 0000000000000052 Base cairo_format_stride_for_width
000000320540fcd0 g DF .text 0000000000000144 Base cairo_push_group_with_content
000000320542aca0 g DF .text 000000000000006a Base cairo_surface_show_page
0000003205421360 g DF .text 00000000000000ba Base cairo_pattern_get_radial_circles
000000320540fa30 g DF .text 0000000000000087 Base cairo_set_source_rgb
00000032054214d0 g DF .text 00000000000000d2 Base cairo_pattern_get_color_stop_rgba
000000320542ad10 g DF .text 0000000000000075 Base cairo_surface_copy_page
0000003205446e80 g DF .text 000000000000009e Base cairo_image_surface_create_from_png
000000320542c7a0 g DF .text 0000000000000043 Base cairo_surface_flush
00000032054211a0 g DF .text 0000000000000003 Base cairo_pattern_get_type
0000003205411870 g DF .text 0000000000000013 Base cairo_font_face_get_reference_count
000000320540e540 g DF .text 0000000000000028 Base cairo_set_font_face
000000320542c9c0 g DF .text 0000000000000076 Base cairo_surface_destroy
0000003205416a40 g DF .text 0000000000000033 Base cairo_image_surface_get_height
0000003205416b00 g DF .text 0000000000000031 Base cairo_image_surface_get_data
000000320543fe00 g DF .text 0000000000000034 Base cairo_xlib_surface_get_drawable
0000003205449110 g DF .text 0000000000000073 Base cairo_ft_font_face_create_for_pattern
000000320544f060 g DF .text 00000000000000e0 Base cairo_ps_surface_set_size
000000320540d900 g DF .text 0000000000000027 Base cairo_copy_path_flat
0000003205416a80 g DF .text 0000000000000033 Base cairo_image_surface_get_width
0000003205412390 g DF .text 0000000000000062 Base cairo_font_options_merge
00000032054211c0 g DF .text 0000000000000013 Base cairo_pattern_get_reference_count
0000003205412570 g DF .text 000000000000001b Base cairo_font_options_get_hint_metrics
000000320540ea90 g DF .text 00000000000000cc Base cairo_paint_with_alpha
000000320540fac0 g DF .text 0000000000000028 Base cairo_set_operator
000000320544b230 g DF .text 0000000000000069 Base cairo_ps_surface_restrict_to_level
0000003205418820 g DF .text 0000000000000034 Base cairo_matrix_transform_distance
000000320540dd10 g DF .text 000000000000001e Base cairo_get_dash
000000320540ed20 g DF .text 0000000000000085 Base cairo_rel_line_to
0000003205431000 g DF .text 0000000000000034 Base cairo_user_font_face_get_unicode_to_glyph_func
000000320540e880 g DF .text 0000000000000028 Base cairo_show_page
000000320540dc70 g DF .text 000000000000001c Base cairo_new_path
00000032054259f0 g DF .text 000000000000006f Base cairo_scaled_font_get_font_options
000000320542c4f0 g DF .text 00000000000000cc Base cairo_surface_set_device_offset
0000003205422290 g DF .text 00000000000000ea Base cairo_pattern_add_color_stop_rgba
000000320540e9d0 g DF .text 000000000000008d Base cairo_mask_surface
000000320540e820 g DF .text 000000000000005c Base cairo_in_stroke
0000003205426870 g DF .text 00000000000003e7 Base cairo_scaled_font_create
000000320542c480 g DF .text 0000000000000065 Base cairo_surface_set_fallback_resolution
000000320540f5d0 g DF .text 0000000000000028 Base cairo_set_matrix
0000003205410000 g DF .text 00000000000000ab Base cairo_create
000000320540da20 g DF .text 0000000000000021 Base cairo_get_line_width
0000003205425900 g DF .text 0000000000000013 Base cairo_scaled_font_get_type
0000003205422790 g DF .text 0000000000000077 Base cairo_pattern_create_linear
000000320540fca0 g DF .text 000000000000002f Base cairo_save
000000320542c740 g DF .text 0000000000000054 Base cairo_surface_mark_dirty
0000003205422480 g DF .text 0000000000000041 Base cairo_pattern_reference
000000320540e960 g DF .text 0000000000000012 Base cairo_stroke
0000003205412510 g DF .text 0000000000000016 Base cairo_font_options_set_hint_style
0000003205416a00 g DF .text 0000000000000033 Base cairo_image_surface_get_stride
000000320544b080 g DF .text 0000000000000078 Base cairo_ps_surface_dsc_begin_page_setup
00000032054186d0 g DF .text 00000000000000c9 Base cairo_matrix_multiply
000000320541b360 g DF .text 0000000000000023 Base cairo_glyph_allocate
0000003205412490 g DF .text 0000000000000015 Base cairo_font_options_set_antialias
0000003205412650 g DF .text 000000000000004b Base cairo_font_options_create
000000320540dc10 g DF .text 0000000000000020 Base cairo_get_font_matrix
000000320540ec00 g DF .text 000000000000011e Base cairo_rel_curve_to
0000003205423fd0 g DF .text 000000000000008b Base cairo_pattern_create_rgb
000000320543fd40 g DF .text 0000000000000033 Base cairo_xlib_surface_get_depth
0000003205412550 g DF .text 0000000000000016 Base cairo_font_options_set_hint_metrics
00000032054211b0 g DF .text 0000000000000004 Base cairo_pattern_status
000000320540f600 g DF .text 0000000000000028 Base cairo_transform
000000320540de90 g DF .text 000000000000005e Base cairo_glyph_path
0000003205425920 g DF .text 0000000000000004 Base cairo_scaled_font_status
000000320540d8f0 g DF .text 0000000000000004 Base cairo_status
0000003205431080 g DF .text 0000000000000034 Base cairo_user_font_face_get_render_glyph_func
000000320540d9e0 g DF .text 0000000000000019 Base cairo_get_line_join
0000003205422640 g DF .text 000000000000008f Base cairo_pattern_create_radial
000000320540e600 g DF .text 0000000000000058 Base cairo_clip_extents
0000003205417e60 g DF .text 0000000000000055 Base cairo_image_surface_create
000000320540da00 g DF .text 0000000000000019 Base cairo_get_line_cap
000000320544afb0 g DF .text 000000000000001e Base cairo_ps_level_to_string
000000320542a0a0 g DF .text 0000000000000014 Base cairo_surface_set_user_data
000000320540f6c0 g DF .text 0000000000000028 Base cairo_set_miter_limit
000000320540e8e0 g DF .text 000000000000002f Base cairo_fill_preserve
000000320540fea0 g DF .text 000000000000003f Base cairo_reference
0000003205454a70 g DF .text 00000000000000c8 Base cairo_pdf_surface_set_size
00000032054125c0 g DF .text 000000000000008f Base cairo_font_options_copy
00000032054452b0 g DF .text 000000000000002d Base cairo_xlib_surface_set_size
0000003205412370 g DF .text 000000000000001c Base cairo_font_options_status
0000003205425950 g DF .text 0000000000000068 Base cairo_scaled_font_extents
0000003205416ac0 g DF .text 0000000000000033 Base cairo_image_surface_get_format
000000320542a710 g DF .text 0000000000000059 Base cairo_surface_has_show_text_glyphs
0000003205418860 g DF .text 000000000000004e Base cairo_matrix_transform_point
000000320541b310 g DF .text 0000000000000012 Base cairo_glyph_free
000000320540dba0 g DF .text 000000000000006f Base cairo_get_font_options
00000032054194c0 g DF .text 000000000000004c Base cairo_matrix_init_rotate
000000320540d9a0 g DF .text 0000000000000018 Base cairo_get_matrix
000000320542a0d0 g DF .text 0000000000000041 Base cairo_surface_reference
000000320540e5d0 g DF .text 0000000000000028 Base cairo_select_font_face
0000003205425ac0 g DF .text 0000000000000050 Base cairo_scaled_font_get_ctm
000000320540da50 g DF .text 0000000000000019 Base cairo_get_fill_rule
0000003205422470 g DF .text 0000000000000009 Base cairo_pattern_get_user_data
0000003205425b10 g DF .text 0000000000000048 Base cairo_scaled_font_get_font_matrix
000000320540f690 g DF .text 0000000000000028 Base cairo_translate
0000003205431040 g DF .text 0000000000000034 Base cairo_user_font_face_get_text_to_glyphs_func
0000003205411fe0 g DF .text 0000000000000028 Base cairo_toy_font_face_get_weight
000000320540f8f0 g DF .text 000000000000009e Base cairo_set_source_surface
0000003205457530 g DF .text 000000000000008d Base cairo_svg_surface_restrict_to_version
0000003205418680 g DF .text 0000000000000026 Base cairo_matrix_init_translate
0000003205448440 g DF .text 0000000000000050 Base cairo_ft_scaled_font_unlock_face
000000320540fc60 g DF .text 000000000000003a Base cairo_pop_group_to_source
000000320541b330 g DF .text 0000000000000023 Base cairo_text_cluster_allocate
00000032054187e0 g DF .text 000000000000003f Base cairo_matrix_translate
000000320540fe20 g DF .text 000000000000000a Base cairo_push_group
00000032054312c0 g DF .text 000000000000006e Base cairo_user_font_face_create
000000320540de10 g DF .text 000000000000007e Base cairo_append_path
000000320540e660 g DF .text 0000000000000028 Base cairo_reset_clip
000000320540e6e0 g DF .text 000000000000006e Base cairo_fill_extents
000000320544af90 g DF .text 000000000000001c Base cairo_ps_get_levels
0000003205429c70 g DF .text 0000000000000013 Base cairo_surface_get_reference_count
00000032054260b0 g DF .text 0000000000000041 Base cairo_scaled_font_reference
0000003205421420 g DF .text 000000000000007a Base cairo_pattern_get_linear_points
000000320540dcd0 g DF .text 0000000000000019 Base cairo_user_to_device
000000320540f660 g DF .text 0000000000000028 Base cairo_scale
000000320540dd80 g DF .text 0000000000000014 Base cairo_set_user_data
000000320541b2f0 g DF .text 0000000000000012 Base cairo_text_cluster_free
000000320540d980 g DF .text 0000000000000017 Base cairo_get_target
000000320540e4b0 g DF .text 0000000000000028 Base cairo_set_font_size
0000003205422380 g DF .text 00000000000000c3 Base cairo_pattern_add_color_stop_rgb
0000003205411ba0 g DF .text 0000000000000014 Base cairo_font_face_set_user_data
000000320540db40 g DF .text 0000000000000019 Base cairo_get_antialias
000000320544aec0 g DF .text 00000000000000c7 Base cairo_ft_scaled_font_lock_face
00000032054186b0 g DF .text 000000000000001c Base cairo_matrix_init_scale
00000032054405a0 g DF .text 00000000000000ed Base cairo_xlib_surface_create
0000003205449090 g DF .text 0000000000000073 Base cairo_ft_font_face_create_for_ft_face
000000320540da70 g DF .text 00000000000000c3 Base cairo_get_current_point
000000320540f420 g DF .text 00000000000001a8 Base cairo_show_text
0000003205431100 g DF .text 000000000000006b Base cairo_user_font_face_set_unicode_to_glyph_func
000000320540f0e0 g DF .text 00000000000000ee Base cairo_arc
000000320540eff0 g DF .text 00000000000000ee Base cairo_arc_negative
000000320542c6a0 g DF .text 000000000000009d Base cairo_surface_mark_dirty_rectangle
000000320540e430 g DF .text 000000000000004f Base cairo_set_font_options
00000032054124d0 g DF .text 0000000000000016 Base cairo_font_options_set_subpixel_order
00000032054215e0 g DF .text 00000000000000ac Base cairo_pattern_get_rgba
000000320544f6d0 g DF .text 0000000000000054 Base cairo_ps_surface_create
000000320540fb20 g DF .text 0000000000000139 Base cairo_pop_group
0000003205421210 g DF .text 000000000000000c Base cairo_pattern_set_filter
0000003205440540 g DF .text 0000000000000022 Base cairo_xlib_surface_create_with_xrender_format
0000003205426080 g DF .text 0000000000000014 Base cairo_scaled_font_set_user_data
00000032054570d0 g DF .text 0000000000000054 Base cairo_pdf_surface_create
000000320540dc90 g DF .text 0000000000000019 Base cairo_device_to_user_distance
000000320544f3f0 g DF .text 000000000000005c Base cairo_ps_surface_create_for_stream
0000003205418620 g DF .text 000000000000001e Base cairo_matrix_init
000000320540f840 g DF .text 0000000000000059 Base cairo_set_tolerance
0000003205426490 g DF .text 00000000000001c8 Base cairo_scaled_font_destroy
000000320540f8a0 g DF .text 0000000000000049 Base cairo_set_source
0000003205447370 g DF .text 00000000000000b6 Base cairo_surface_write_to_png
0000003205427fb0 g DF .text 0000000000000650 Base cairo_scaled_font_text_to_glyphs
0000003205429cb0 g DF .text 0000000000000020 Base cairo_surface_get_fallback_resolution
0000003205431250 g DF .text 0000000000000063 Base cairo_user_font_face_set_init_func
0000003205421220 g DF .text 0000000000000004 Base cairo_pattern_get_filter
0000003205429c40 g DF .text 0000000000000004 Base cairo_surface_status
0000003205419510 g DF .text 0000000000000036 Base cairo_matrix_rotate
000000320540e4e0 g DF .text 0000000000000053 Base cairo_get_font_face
0000003205411bd0 g DF .text 0000000000000077 Base cairo_font_face_destroy
000000320544b100 g DF .text 0000000000000064 Base cairo_ps_surface_dsc_begin_setup
0000003205411840 g DF .text 000000000000001c Base cairo_debug_reset_static_data
0000003205447330 g DF .text 000000000000003f Base cairo_surface_write_to_png_stream
000000320545b1c0 g DF .text 000000000000005c Base cairo_svg_surface_create_for_stream
000000320540db80 g DF .text 0000000000000019 Base cairo_get_operator
000000320540d960 g DF .text 0000000000000017 Base cairo_get_group_target
0000003205423f20 g DF .text 00000000000000a9 Base cairo_pattern_create_rgba
0000003205412530 g DF .text 000000000000001b Base cairo_font_options_get_hint_style
000000320543fe80 g DF .text 0000000000000031 Base cairo_xlib_surface_get_xrender_format
000000320540f1d0 g DF .text 0000000000000085 Base cairo_move_to
000000320540d9c0 g DF .text 0000000000000019 Base cairo_get_miter_limit
000000320540fe30 g DF .text 0000000000000063 Base cairo_copy_clip_rectangle_list
000000320540e190 g DF .text 000000000000008b Base cairo_glyph_extents
000000320540d8d0 g DF .text 0000000000000015 Base cairo_has_current_point
0000003205412010 g DF .text 0000000000000028 Base cairo_toy_font_face_get_slant
000000320542cb60 g DF .text 000000000000006a Base cairo_surface_create_similar
00000032054451a0 g DF .text 000000000000010f Base cairo_xlib_surface_set_drawable
000000320541ae70 g DF .text 0000000000000218 Base cairo_status_to_string
000000320540e390 g DF .text 000000000000009f Base cairo_set_scaled_font
000000320540e570 g DF .text 0000000000000058 Base cairo_font_extents
0000003205457440 g DF .text 000000000000001c Base cairo_svg_get_versions
0000003205421e80 g DF .text 0000000000000097 Base cairo_pattern_set_matrix
000000320540f780 g DF .text 0000000000000055 Base cairo_set_line_width
0000003205431340 g DF .text 0000000000000008 Base cairo_version_string
000000320540d930 g DF .text 0000000000000027 Base cairo_copy_path
000000320540def0 g DF .text 000000000000020d Base cairo_show_text_glyphs
000000320540faf0 g DF .text 000000000000002f Base cairo_restore
0000003205417d60 g DF .text 0000000000000097 Base cairo_image_surface_create_for_data
000000320540dcf0 g DF .text 0000000000000019 Base cairo_identity_matrix
000000320543fcc0 g DF .text 0000000000000031 Base cairo_xlib_surface_get_height
00000032054124b0 g DF .text 000000000000001b Base cairo_font_options_get_antialias
000000320540dd60 g DF .text 0000000000000019 Base cairo_get_source
00000032054211e0 g DF .text 0000000000000030 Base cairo_pattern_get_matrix
000000320542c970 g DF .text 000000000000004d Base cairo_surface_finish
000000320540e930 g DF .text 000000000000002f Base cairo_stroke_preserve
0000003205457130 g DF .text 000000000000005c Base cairo_pdf_surface_create_for_stream
0000003205429c30 g DF .text 0000000000000004 Base cairo_surface_get_content
0000003205429c20 g DF .text 0000000000000004 Base cairo_surface_get_type
000000320540eb60 g DF .text 000000000000006e Base cairo_path_extents
000000320540e910 g DF .text 0000000000000012 Base cairo_fill
000000320540f260 g DF .text 0000000000000085 Base cairo_rectangle
000000320540dc30 g DF .text 0000000000000019 Base cairo_user_to_device_distance
000000320544b1c0 g DF .text 0000000000000061 Base cairo_ps_surface_set_eps
0000003205412040 g DF .text 0000000000000056 Base cairo_toy_font_face_get_family
000000320540e100 g DF .text 000000000000008f Base cairo_show_glyphs
00000032054259d0 g DF .text 0000000000000014 Base cairo_scaled_font_get_font_face
00000032054185f0 g DF .text 0000000000000024 Base cairo_matrix_init_identity
000000320540ebd0 g DF .text 000000000000002b Base cairo_close_path
00000032054187a0 g DF .text 0000000000000035 Base cairo_matrix_scale
000000320540dda0 g DF .text 0000000000000009 Base cairo_get_user_data
0000003205449190 g DF .text 0000000000000049 Base cairo_ft_font_options_substitute
0000003205429fc0 g DF .text 00000000000000d1 Base cairo_surface_get_font_options
000000320542a0c0 g DF .text 0000000000000009 Base cairo_surface_get_user_data
I use crxprof as a great tool to profile dynamic libs because of complicated native library profiling process. It works in most cases but I noticed that some symbols are skipped:
The second problem is more interesting. I noticed that e.g. cairo doesn't presented at all: I see many gtk and gdk functions but not cairo. I'm not skilled with binary ELF data format but I can say that crxprof doesn't see cairo by 2 reasons:
Compare:
and