我正在尝试获取有关大型程序流程的一些信息。过去,KCachegrind曾经很擅长这一点。但是我系统上的最新版本(0.6kde)(Kubuntu 10.10)将不会显示调用树和调用者映射。它只绘制一个包含当前函数的框,但没有箭头和没有调用者。这是控制台输出:
kcachegrind(27917)/kdecore (services) KMimeTypeFactory::parseMagic: Now parsing "/usr/share/mime/magic"
QInotifyFileSystemWatcherEngine::addPaths: inotify_add_watch failed: No such file or directory
QFileSystemWatcher: failed to add paths: /home/cosmin/.config/ibus/bus
Bus::open: Can not get ibus-daemon's address.
IBusInputContext::createInputContext: no connection to ibus-daemon
CallGraphView::refresh
CallGraphView::refresh: Started process 0x1346f50, 'dot -Tplain'
CallGraphView::readDotOutput: QProcess 0x1346f50
CallGraphView::dotExited: QProcess 0x1346f50
我安装了dot(graphviz),并且使用-g -O0编译了应用程序。
你知道问题出在哪里吗?
答案 0 :(得分:34)
哎呀......我打电话给valgrind --tool=cachegrind
而不是valgrind --tool=callgrind
。