This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug translator/10294] .statement("*@FILE:NNN-MMM") line-range probes broken
- From: "wenji dot huang at oracle dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sources dot redhat dot com
- Date: 4 Aug 2009 08:17:10 -0000
- Subject: [Bug translator/10294] .statement("*@FILE:NNN-MMM") line-range probes broken
- References: <20090617221401.10294.fche@redhat.com>
- Reply-to: sourceware-bugzilla at sourceware dot org
------- Additional Comments From wenji dot huang at oracle dot com 2009-08-04 08:17 -------
Did tests, found that it's because of some unseen functions.
For example:
stap -p2 -e 'probe process("./stap").statement("*@main.cxx:375-375") {print(0)}'
semantic error: Invalid line range (375-375), the end line number 375 < 145555936
semantic error: no match while resolving probe point
process("./stap").statement("*@main.cxx:375-375")
semantic error: no probes found
The focused function is 'basic_ostream'. We can't get the correct start line
number for this function. Even we skipped checking the line number, it will be
also be failed when the running reaches dwarf_haspc (function, line_addr) != 1.
The line_addr is from dwarf_getsrc_file -> dwarf_lineaddr, related to 375. But
the PC border check of this->function terminated the loop. Only function
'basic_ostream' will be proceeded in iterate_over_srcfile_lines. So no probe
point is resolved.
And I wonder how to handle .statement("*@main.c:1-100") if the line range covers
more than two functions. Current stap only explores the first one
and ignores the rest.
--
http://sourceware.org/bugzilla/show_bug.cgi?id=10294
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.