fche changed the topic of #systemtap to: http://sourceware.org/systemtap; email systemtap@sourceware.org if answers here not timely, conversations may be logged
modem has quit [Ping timeout: 248 seconds]
nkambo has joined #systemtap
nkambo has quit [Remote host closed the connection]
litb has joined #systemtap
<litb> hello folks
<litb> why does systemtap complain that it couldn't match a function name and proposes similar function names that actually match exactly?
litb is now known as Guest40013
Guest40013 is now known as litb
<litb> this is what i gave: probe process("qtconfig-qt4").function("_ZN7QWidget14setWindowTitleERK7QString") { print($parm1) }
<litb> and it complains: semantic error: no match (similar functions: _ZN7QWidget14setWindowTitleERK7QString, _ZN7QWidget10setToolTipERK7QString, _ZN11QMessageBox14setWindowTitleERK7QString, _ZN7QWidget12setWhatsThisERK7QString, _ZN7QWidget13setWindowIconERK5QIcon)
<litb> (neither did it work using non-mangled notation)
<fche> litb, not sure, pls consider opening a bug report; is there a $parm1 by the way?
<litb> fche: yes
<litb> it's a QString const&
<litb> fche: perhaps it doesn't support reference parameter types, and tries to unmangle the name, failing at the reference?
<fche> don't think that'd show up at the dwarf level
<fche> is this a function defined within the qtconfig* binary, or is it in a shared library called from there?
<litb> fche: defined as external inline function in a .so file (clasś member)
<litb> i guess that means it's emitted in the binary?
<fche> tried probe process("/path/to/that/libqt.so").function("_Z*" ?
modem has joined #systemtap
<litb> fche: actually it wasn't inline. I tried probe process("/usr/lib/libQtGui.so.4.8.7").function("*") { print(probefunc(), "\n") } | c++filt | grep 'QWidget::setWindow and it actually prints QWidget::setWindowTitle(QString const&)
<litb> fche: but when the function isn'T "*" but "QWidget::setWindowTitle", it gives the above match error
<fche> try a wildcard like *QWidget*setWindowTitle*
<litb> fche: fun, then it works. weird
<litb> it matches multiple symbols, including the one i wanted to match
<fche> try narrowing the wildcard down further; might be good enough
scox has quit [Ping timeout: 276 seconds]
scox has joined #systemtap
scox has quit [Ping timeout: 240 seconds]
scox has joined #systemtap
litb has quit [Quit: Lost terminal]
serhei_ is now known as serhei