Profiling — различия между версиями
Материал из Русский WINE
м (1 версия) |
|||
Строка 1: | Строка 1: | ||
− | |||
− | |||
− | |||
== Профилирование == | == Профилирование == | ||
− | |||
− | |||
Существуют средства, позволяющие получить подробную и наглядную информацию об узких местах программы. | Существуют средства, позволяющие получить подробную и наглядную информацию об узких местах программы. | ||
Строка 12: | Строка 7: | ||
+ | * устанавливаем пакет glibc-core-debug (если хотим получить информацию и по функциям glibc) | ||
− | + | * запускаем программу (на примере notepad) командой | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | $ LD_LIBRARY_PATH=/usr/lib/debug valgrind --trace-children=yes --tool=callgrind ~/Projects/WINE/eterhack/loader/wine-glibc notepad | ||
Для просмотра информации получившийся файл callgrind.out.* копируем в каталог с исходниками wine и запускаем KCacheGrind: | Для просмотра информации получившийся файл callgrind.out.* копируем в каталог с исходниками wine и запускаем KCacheGrind: | ||
− | + | $ kcachegrind callgrind.out.* | |
+ | Чтобы видеть исходный код glibc, нужно установить пакет glibc-core-debuginfo. | ||
+ | В крайнем случае распаковать glibc: | ||
− | + | rpmgp glibc | |
+ | cd RPM/SPECS | ||
+ | rpm -bp glibc.spec | ||
+ | и указать в программе Settings->Configure путь к RPM/BUILD/glibc-*</pre> | ||
+ | === На сборочном сервере Etersoft === | ||
− | + | Для простоты код запуска wine под valgrind помещён в скрипт ww-valgrind, так что можно запустить просто | |
− | + | $ ww-valgrind notepad | |
− | |||
− | + | [[Категория:Отладка]] | |
− | + | ||
− | + |
Версия 11:23, 29 мая 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
Для просмотра информации получившийся файл callgrind.out.* копируем в каталог с исходниками wine и запускаем KCacheGrind:
$ kcachegrind callgrind.out.*
Чтобы видеть исходный код glibc, нужно установить пакет glibc-core-debuginfo.
В крайнем случае распаковать glibc:
rpmgp glibc cd RPM/SPECS rpm -bp glibc.spec
и указать в программе Settings->Configure путь к RPM/BUILD/glibc-*</pre>
На сборочном сервере Etersoft
Для простоты код запуска wine под valgrind помещён в скрипт ww-valgrind, так что можно запустить просто
$ ww-valgrind notepad