J'essaie de profiler une bibliothèque partagée sur GNU/Linux qui effectue un traitement audio en temps réel, donc la performance est importante. Je cours un autre programme qui le relie aux entrées et sorties audio de mon système, et le profile avec callgrind.Comment appeler callgrind pour afficher les informations sur la ligne source?
En regardant les résultats dans KCacheGrind, j'obtiens des informations sur les fonctions qui prennent le plus de temps. Cependant, il ne me laissera pas regarder les informations ligne par ligne, et à la place dit que je dois le compiler avec des symboles de débogage et réexécuter le profilage.
Le programme que je profile n'est pas compilé avec des symboles de débogage, mais la bibliothèque est. Et je sais cela, parce qu'intéressant, les annotations de code source pour cachegrind fonctionnent très bien. Quand j'exécute callgrind, il est dit que la valeur par défaut est de vider les informations de la ligne source, mais cela ne fonctionne pas. Y a-t-il un moyen de le forcer à, ou de comprendre ce qui l'arrête?
Peut-être une question stupide, mais pouvez-vous recompiler votre application avec des symboles de débogage? –