Yandong Yao
2007-Aug-08 01:25 UTC
[dtrace-discuss] ''probe does not match any probes'' error when using dappprof or dapptrace
Hi guys,
When I execute "./dappprof -u ''libglade-2.0.so''
gedit"
I got following errors:
---------------------------------------------------------------
dtrace: invalid probe specifier
#pragma D option quiet
/*
* Command line arguments
*/
inline int OPT_command = 1;
inline int OPT_liball = 0;
inline int OPT_elapsed = 1;
inline int OPT_cpu = 0;
inline int OPT_counts = 0;
inline int OPT_totals = 0;
inline int OPT_pid = 0;
inline int PID = 0;
inline string NAME = "";
dtrace:::BEGIN
/! OPT_command/
{
printf("Hit Ctrl-C to stop sampling...\n");
}
/*
* Save syscall entry info
*/
pid$target:libglade-2.0.so::entry
{
/* set function depth */
this->fdepth = ++fdepth[probefunc];
/* set start details */
self->start[probefunc,this->fdepth] = timestamp;
self->vstart[probefunc,this->fdepth] = vtimestamp;
/* count occurances */
OPT_counts && OPT_liball ? @Counts[probemod,probefunc] = count() : 1;
OPT_counts && ! OPT_liball ? @Counts[probefunc] = count() : 1;
OPT_counts && OPT_totals && OPT_liball ?
@Counts["TOTAL:",""] = count() : 1;
OPT_counts && OPT_totals && ! OPT_liball ?
@Counts["TOTAL:"] = count() : 1;
}
/*
* Print return data
*/
/* print 3 arg output - default */
pid$target:libglade-2.0.so::return
/self->start[probefunc,fdepth[probefunc]]/
{
/* fetch function depth */
this->fdepth = fdepth[probefunc];
/* calculate elapsed time */
this->elapsed = timestamp - self->start[probefunc,this->fdepth];
self->start[probefunc,this->fdepth] = 0;
this->cpu = vtimestamp - self->vstart[probefunc,this->fdepth];
self->vstart[probefunc,this->fdepth] = 0;
/* save elapsed times */
OPT_elapsed && OPT_liball ?
@Elapsed[probemod,probefunc] = sum(this->elapsed) : 1;
OPT_elapsed && ! OPT_liball ?
@Elapsed[probefunc] = sum(this->elapsed) : 1;
OPT_elapsed && OPT_totals && OPT_liball ?
@Elapsed["TOTAL:",""] = sum(this->elapsed) : 1;
OPT_elapsed && OPT_totals && ! OPT_liball ?
@Elapsed["TOTAL:"] = sum(this->elapsed) : 1;
/* save cpu times */
OPT_cpu && OPT_liball ? @CPU[probemod,probefunc] = sum(this->cpu) :
1;
OPT_cpu && ! OPT_liball ? @CPU[probefunc] = sum(this->cpu) : 1;
OPT_cpu && OPT_totals && OPT_liball ?
@CPU["TOTAL:",""] = sum(this->cpu) : 1;
OPT_cpu && OPT_totals && ! OPT_liball ?
@CPU["TOTAL:"] = sum(this->cpu) : 1;
}
/* print counts */
dtrace:::END
{
/* print counts */
OPT_counts ? printf("\n%-49s
%16s\n","CALL","COUNT") : 1;
OPT_counts && OPT_liball ? printa("%-16s %-32s %@16d\n", at
Counts) : 1;
OPT_counts && ! OPT_liball ? printa("%-49s %@16d\n", at
Counts) : 1;
/* print elapsed times */
OPT_elapsed ? printf("\n%-49s
%16s\n","CALL","ELAPSED") : 1;
OPT_elapsed && OPT_liball ? printa("%-16s %-32s %@16d\n", at
Elapsed) : 1;
OPT_elapsed && ! OPT_liball ? printa("%-49s %@16d\n", at
Elapsed) : 1;
/* print cpu times */
OPT_cpu ? printf("\n%-49s %16s\n","CALL","CPU") :
1;
OPT_cpu && OPT_liball ? printa("%-16s %-32s %@16d\n", at CPU)
: 1;
OPT_cpu && ! OPT_liball ? printa("%-49s %@16d\n", at CPU) : 1;
}
: probe description pid11070:libglade-2.0.so::entry does not match any
probes
-----------------------------------------------------
from
http://mail.opensolaris.org/pipermail/dtrace-discuss/2006-November/002816.html,
it seems that export LD_NOLAZYLOAD can resolve this problem, but it
doesn''t work for me.
and if execute ''./dappprof -U gedit'', I can only get functions
data from
a.out and ld.so.1, why?
And suggestions or hints on this? Thank you in advance!
Regards,
Yandong
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://mail.opensolaris.org/pipermail/dtrace-discuss/attachments/20070808/7776396b/attachment.html>
Brendan Gregg - Sun Microsystems
2007-Aug-09 18:12 UTC
[dtrace-discuss] ''probe does not match any probes'' error when using dappprof or dapptrace
G''Day Yandong, On Wed, Aug 08, 2007 at 09:25:26AM +0800, Yandong Yao wrote:> > Hi guys, > > When I execute "./dappprof -u ''libglade-2.0.so'' gedit" > > I got following errors: > --------------------------------------------------------------- > dtrace: invalid probe specifier > #pragma D option quiet[...] Sorry about that, the error message isn''t so helpful - I''ll see if I can fix that for the next release.> from > http://mail.opensolaris.org/pipermail/dtrace-discuss/2006-November/002816.html, > it seems that export LD_NOLAZYLOAD can resolve this problem, but it > doesn''t work for me. > > and if execute ''./dappprof -U gedit'', I can only get functions data from > a.out and ld.so.1, why? > > And suggestions or hints on this? Thank you in advance!I''d try running gedit first, and then attaching dappprof. # gedit & [1] 245819 # pldd `pgrep -n gedit` | grep libglade-2 /usr/lib/libglade-2.0.so.0.0.7 # dtrace -ln ''pid$target:libglade-2::entry'' -p `pgrep -n gedit` ID PROVIDER MODULE FUNCTION NAME 132742 pid245819 libglade-2.0.so.0.0.7 glade_init entry 132743 pid245819 libglade-2.0.so.0.0.7 glade_module_check_version entry 132744 pid245819 libglade-2.0.so.0.0.7 glade_require entry 132745 pid245819 libglade-2.0.so.0.0.7 glade_provide entry 132746 pid245819 libglade-2.0.so.0.0.7 glade_xml_get_type entry [...] So far, so good. Now for dappprof, # /opt/DTT/dappprof -ce -u libglade-2 -p `pgrep -n gedit` Hit Ctrl-C to stop tracing... ^C CALL COUNT _glade_init_gtk_widgets 1 glade_xml_class_init 1 combo_box_set_items 2 entry_set_invisible_char 2 glade_module_check_version 2 glade_xml_handle_internal_child 2 notebook_build_children 2 glade_interface_destroy 3 glade_parser_end_document 3 glade_parser_parse_file 3 glade_parser_start_document 3 glade_provide 3 glade_xml_build_interface 3 glade_xml_construct 3 glade_xml_finalize 3 glade_xml_init 3 glade_xml_new 3 glade_require 5 glade_init 6 set_tooltip 8 glade_xml_handle_widget_prop 18 glade_xml_get_type 24 glade_flags_from_string 38 glade_register_custom_prop 72 invalidate_custom_prop_cache 72 glade_xml_get_widget 91 glade_parser_get_entity 94 glade_standard_build_children 117 glade_register_widget 118 handle_child 128 glade_enum_from_string 216 glade_standard_build_widget 265 glade_xml_build_widget 265 glade_xml_real_lookup_type 265 glade_xml_add_accessibility_info 267 glade_xml_set_common_params 267 remove_data_func 267 set_visible 267 flush_properties 283 create_widget_info 284 widget_info_free 284 get_custom_prop_info 293 get_build_data 534 glade_xml_set_packing_property 750 glade_xml_set_value_from_string 2652 alloc_propname 3103 glade_parser_end_element 3932 glade_parser_start_element 3932 alloc_string 6785 glade_parser_characters 7968 CALL ELAPSED entry_set_invisible_char 31862 glade_provide 32165 glade_parser_end_document 45006 glade_module_check_version 45389 glade_xml_init 60493 glade_require 108249 combo_box_set_items 158201 set_tooltip 216851 glade_xml_get_type 268052 glade_parser_start_document 346041 glade_flags_from_string 451362 glade_xml_handle_widget_prop 589695 glade_xml_get_widget 865624 glade_xml_handle_internal_child 912867 invalidate_custom_prop_cache 937464 glade_parser_get_entity 942860 glade_register_widget 1208097 widget_info_free 1360750 glade_enum_from_string 2244167 flush_properties 2282683 set_visible 2385174 remove_data_func 2389254 get_custom_prop_info 2527955 glade_register_custom_prop 2789868 glade_xml_real_lookup_type 3061939 handle_child 3251116 _glade_init_gtk_widgets 3795398 glade_xml_class_init 3849021 glade_init 3882425 get_build_data 4298796 glade_interface_destroy 4474869 glade_xml_add_accessibility_info 6029079 glade_xml_finalize 9543357 create_widget_info 11691135 glade_xml_set_common_params 12890914 glade_xml_set_packing_property 35744525 glade_xml_set_value_from_string 38465342 alloc_string 48139549 alloc_propname 68597070 glade_standard_build_children 73942123 glade_parser_characters 76507247 glade_parser_end_element 86057670 glade_standard_build_widget 96129860 glade_xml_build_widget 104513550 glade_parser_start_element 157024519 notebook_build_children 182015085 glade_parser_parse_file 555451667 glade_xml_build_interface 708660499 glade_xml_construct 1264238771 glade_xml_new 1269125769 Having to run gedit first and then use -p is a bit annoying - I''ll see if I can fix that too... no worries, Brendan -- Brendan [CA, USA]
Yandong Yao
2007-Aug-10 00:00 UTC
[dtrace-discuss] ''probe does not match any probes'' error when using dappprof or dapptrace
Hi Brendan, Thank you very much for your reply and your upcoming fix, I am really appreciated that. Regards, Yandong Brendan Gregg - Sun Microsystems ??:> G''Day Yandong, > > On Wed, Aug 08, 2007 at 09:25:26AM +0800, Yandong Yao wrote: > >> Hi guys, >> >> When I execute "./dappprof -u ''libglade-2.0.so'' gedit" >> >> I got following errors: >> --------------------------------------------------------------- >> dtrace: invalid probe specifier >> #pragma D option quiet >> > [...] > > Sorry about that, the error message isn''t so helpful - I''ll see if I can > fix that for the next release. > > >> from >> http://mail.opensolaris.org/pipermail/dtrace-discuss/2006-November/002816.html, >> it seems that export LD_NOLAZYLOAD can resolve this problem, but it >> doesn''t work for me. >> >> and if execute ''./dappprof -U gedit'', I can only get functions data from >> a.out and ld.so.1, why? >> >> And suggestions or hints on this? Thank you in advance! >> > > I''d try running gedit first, and then attaching dappprof. > > # gedit & > [1] 245819 > > # pldd `pgrep -n gedit` | grep libglade-2 > /usr/lib/libglade-2.0.so.0.0.7 > > # dtrace -ln ''pid$target:libglade-2::entry'' -p `pgrep -n gedit` > ID PROVIDER MODULE FUNCTION NAME > 132742 pid245819 libglade-2.0.so.0.0.7 glade_init entry > 132743 pid245819 libglade-2.0.so.0.0.7 glade_module_check_version entry > 132744 pid245819 libglade-2.0.so.0.0.7 glade_require entry > 132745 pid245819 libglade-2.0.so.0.0.7 glade_provide entry > 132746 pid245819 libglade-2.0.so.0.0.7 glade_xml_get_type entry > [...] > > So far, so good. Now for dappprof, > > # /opt/DTT/dappprof -ce -u libglade-2 -p `pgrep -n gedit` > Hit Ctrl-C to stop tracing... > ^C > > CALL COUNT > _glade_init_gtk_widgets 1 > glade_xml_class_init 1 > combo_box_set_items 2 > entry_set_invisible_char 2 > glade_module_check_version 2 > glade_xml_handle_internal_child 2 > notebook_build_children 2 > glade_interface_destroy 3 > glade_parser_end_document 3 > glade_parser_parse_file 3 > glade_parser_start_document 3 > glade_provide 3 > glade_xml_build_interface 3 > glade_xml_construct 3 > glade_xml_finalize 3 > glade_xml_init 3 > glade_xml_new 3 > glade_require 5 > glade_init 6 > set_tooltip 8 > glade_xml_handle_widget_prop 18 > glade_xml_get_type 24 > glade_flags_from_string 38 > glade_register_custom_prop 72 > invalidate_custom_prop_cache 72 > glade_xml_get_widget 91 > glade_parser_get_entity 94 > glade_standard_build_children 117 > glade_register_widget 118 > handle_child 128 > glade_enum_from_string 216 > glade_standard_build_widget 265 > glade_xml_build_widget 265 > glade_xml_real_lookup_type 265 > glade_xml_add_accessibility_info 267 > glade_xml_set_common_params 267 > remove_data_func 267 > set_visible 267 > flush_properties 283 > create_widget_info 284 > widget_info_free 284 > get_custom_prop_info 293 > get_build_data 534 > glade_xml_set_packing_property 750 > glade_xml_set_value_from_string 2652 > alloc_propname 3103 > glade_parser_end_element 3932 > glade_parser_start_element 3932 > alloc_string 6785 > glade_parser_characters 7968 > > CALL ELAPSED > entry_set_invisible_char 31862 > glade_provide 32165 > glade_parser_end_document 45006 > glade_module_check_version 45389 > glade_xml_init 60493 > glade_require 108249 > combo_box_set_items 158201 > set_tooltip 216851 > glade_xml_get_type 268052 > glade_parser_start_document 346041 > glade_flags_from_string 451362 > glade_xml_handle_widget_prop 589695 > glade_xml_get_widget 865624 > glade_xml_handle_internal_child 912867 > invalidate_custom_prop_cache 937464 > glade_parser_get_entity 942860 > glade_register_widget 1208097 > widget_info_free 1360750 > glade_enum_from_string 2244167 > flush_properties 2282683 > set_visible 2385174 > remove_data_func 2389254 > get_custom_prop_info 2527955 > glade_register_custom_prop 2789868 > glade_xml_real_lookup_type 3061939 > handle_child 3251116 > _glade_init_gtk_widgets 3795398 > glade_xml_class_init 3849021 > glade_init 3882425 > get_build_data 4298796 > glade_interface_destroy 4474869 > glade_xml_add_accessibility_info 6029079 > glade_xml_finalize 9543357 > create_widget_info 11691135 > glade_xml_set_common_params 12890914 > glade_xml_set_packing_property 35744525 > glade_xml_set_value_from_string 38465342 > alloc_string 48139549 > alloc_propname 68597070 > glade_standard_build_children 73942123 > glade_parser_characters 76507247 > glade_parser_end_element 86057670 > glade_standard_build_widget 96129860 > glade_xml_build_widget 104513550 > glade_parser_start_element 157024519 > notebook_build_children 182015085 > glade_parser_parse_file 555451667 > glade_xml_build_interface 708660499 > glade_xml_construct 1264238771 > glade_xml_new 1269125769 > > Having to run gedit first and then use -p is a bit annoying - I''ll > see if I can fix that too... > > no worries, > > Brendan > >