Profiling
Материал из Русский WINE
Версия от 21:55, 13 мая 2012; МаксимКузьмик (обсуждение)
Профилирование
Существуют средства, позволяющие получить подробную и наглядную информацию об узких местах программы.
Для того, чтобы получить полноценную информация, нужно выполнить следующие действия:
* устанавливаем пакет glibc-core-debug (если хотим получить информацию и по функциям glibc)
* запускаем программу (на примере notepad) командой
$ LD_LIBRARY_PATH=/usr/lib/debug valgrind --trace-children=yes --tool=callgrind ~/Projects/WINE/eterhack/loader/wine-glibc notepad
Для простоты этот код в более корректном варианте помещён в скрипт ww-valgrind, так что можно запустить просто
$ valgrind notepad
Для просмотра информации получившийся файл callgrind.out.* копируем в каталог с исходниками wine и запускаем KCacheGrind:
$ /usr/lib/kde4bin/kcachegrind callgrind.out.*
Чтобы видеть исходный код glibc, нужно установить пакет glibc-core-debuginfo.
В крайнем случае распаковать glibc:
rpmgp glibc cd RPM/SPECS rpm -bp glibc.spec и указать в программе Settings->Configure путь к RPM/BUILD/glibc-*