Profiling — различия между версиями

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

Версия 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