Profiling

Материал из Русский WINE
Версия от 21:55, 13 мая 2012; МаксимКузьмик (обсуждение)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
Wackowiki-logo.png Blue Glass Arrow.svg MediaWiki logo.png
Эта страница была автоматически перемещена с old.wiki.etersoft.ru.
Эта страница наверняка требует чистки и улучшения — смело правьте разметку и ссылки.
Просьба по окончанию убрать этот шаблон со страницы.


Профилирование

Существуют средства, позволяющие получить подробную и наглядную информацию об узких местах программы.

Для того, чтобы получить полноценную информация, нужно выполнить следующие действия:


* устанавливаем пакет 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-*