Есть корректная программа С++ (без потоков, проверенная санитайзерами, valgrind и статически), адекватно профилируемая callgrind в ubuntu. Эта же программа собранная на ubuntu в virtualbox из под win11 так же корректно работает (внутри ubuntu), но не профилируется. callgrind запускается без ошибок, но не завершается. Из результатов после ctrl+c, рассмотренных в kcachegrind, программа уходит в бесконечные (или крайне большие) циклы внутри функций библиотеки С++, причем при разном input эти функции разные (наблюдал std::getline и std::_hash::_M_assign). Попадание в циклы происходит не на первом вызове этих функций, но в зависимости от input на разных по счёту, однако при одном и том же input этот номер вызова один и тот же. Вывод о зацикленности сделан на основе количества выполненных инструкций, количества вызовов, а так же дампа инструкций и сбора прыжков. Вероятно, проблема не в коде, а самом callgrind. Что можно с этим сделать?
Ответ на:
комментарий
от fornlr
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [oprofile] [callgrind] Профилирование приложений (2012)
- Форум valgrind --tool=callgrind пропускает функцию (2018)
- Форум callgrind: как отпрофайлить внутри одной функции (2015)
- Форум Какое расширение у callgrind файлов? (2009)
- Форум virtualbox (2015)
- Форум virtualBox (2016)
- Форум virtualBox (2016)
- Форум VirtualBox (2016)
- Форум VirtualBox (2013)
- Форум VirtualBox (2011)