SlideShare a Scribd company logo
ITIL
24/01/2013
Softjourn Inc.




xdebug
        Анатолій Охотніков
           Softjourn Inc.
1/23/13

                  Про що буде йти мова
          ●   Що таке xdebug?
          ●   Налаштування PhpStorm
          ●   Профілірування (profiling)
          ●   Обробка помилок
          ●   Трасування (tracing)
          ●   Посилання
          ●   Питання та обговорення
Що таке xdebug?
 xdebug – це розширення для PHP,
  написане Derick Rethans, одним з
  розробників мови PHP
 Силова станція РНР
 Має багато можливостей, наприклад
  відладка, трасування, профілірування та
  аналіз проблем у РНР коді
 Відображення(дампи) змінних, віддалена
  відладка, трасування функцій, аналіз
  покриття коду
Налаштування PhpStorm
 Додати сервер
 Вказати порт для прослуховування
 Почати прослуховування
 Відкрити сторінку
 Почати відладку
 ???
 PROFIT!
Додати сервер
Вказати порт для прослуховування
Почати прослуховування
Відкрити сторінку
Почати відладку
???




          javascript:(/** @version 0.5.2 */function()
   {document.cookie='XDEBUG_SESSION='+'PHPSTORM-
XDEBUG'+';path=/;';document.location.reload();document.cookie='X
  DEBUG_SESSION='+''+';expires=Mon, 05 Jul 2000 00:00:00
                       GMT;path=/;';})()
PROFIT!
Профілірування (profiling)
 Xdebug може генерувати cachegrind файли,
  які містять інформацію для
  профілірування
 Це може використовуватись для
  знаходження вузьких місць у ваших
  скриптах
 Інструменти: WinCacheGrind, KCacheGrind,
    webgrind
   Дозволяють аналізувати виконання
    скрипта (розбивка часу виконання,
    кількість викликів функцій, тощо)
KCacheGrind
Обробка помилок
php_flag       xdebug.collect_vars      on
php_value      xdebug.collect_params    4
php_flag       xdebug.dump_globals      on
php_value      xdebug.dump.SERVER       REQUEST_URI
php_value      xdebug.dump.GET          *
php_value      xdebug.dump.POST         *
php_value      xdebug.dump.COOKIE       *
php_flag       xdebug.show_local_vars   on
Трасування (tracing)

        php_value   xdebug.show_mem_delta   1
        php_value   xdebug.collect_return   1
        php_value   xdebug.collect_params   4
        php_value   xdebug.auto_trace       1
Посилання
 http://blog.jetbrains.com/webide/2011/02/ze
  ro-configuration-debugging-with-xdebug-
  and-phpstorm-2-0/
 http://blog.jetbrains.com/webide/2011/03/co
  nfigure-php-debugging-in-phpstorm-2-0/
 http://habrahabr.ru/post/31452/
 http://xdebug.org/
 PHP-Code-Profiling-and-Debugging-
  XDebug.ppt
 Xdebug-PHP-Performance-Profiling-
  Debugging.ppt
Питання та обговорення
“Анатолій Охотніков”
<aokhotnikov@softjourn.com>




   Copyright © 2000-2011 Softjourn, Inc. All rights reserved

More Related Content

What's hot

08 Exceptions and AOP
08  Exceptions and AOP08  Exceptions and AOP
08 Exceptions and AOPeleksdev
 
Angular. presentation
Angular. presentationAngular. presentation
Angular. presentation
eleksdev
 
System programing module 1. Processes
System programing module 1. ProcessesSystem programing module 1. Processes
System programing module 1. Processes
Andrii Hladkyi
 
G rpc lection1_theory_bkp2
G rpc lection1_theory_bkp2G rpc lection1_theory_bkp2
G rpc lection1_theory_bkp2
eleksdev
 
System programing module 2. Threads
System programing module 2. ThreadsSystem programing module 2. Threads
System programing module 2. Threads
Andrii Hladkyi
 
12 Architecture
12 Architecture12 Architecture
12 Architectureeleksdev
 
JS Fest 2019/Autumn. Роман Савіцький. Webcomponents & lit-element in production
JS Fest 2019/Autumn. Роман Савіцький. Webcomponents & lit-element in productionJS Fest 2019/Autumn. Роман Савіцький. Webcomponents & lit-element in production
JS Fest 2019/Autumn. Роман Савіцький. Webcomponents & lit-element in production
JSFestUA
 
Rpc
RpcRpc
Web service lecture
Web service lectureWeb service lecture
Web service lecture
eleksdev
 
Тестування при розробці програмного забезпечення. Unit Tests.
Тестування при розробці програмного забезпечення. Unit Tests.Тестування при розробці програмного забезпечення. Unit Tests.
Тестування при розробці програмного забезпечення. Unit Tests.
Elantix
 
Net framework і c# module 5
Net framework і c# module 5Net framework і c# module 5
Net framework і c# module 5
Andrii Hladkyi
 
11 web services
11 web services11 web services
11 web serviceseleksdev
 
Net framework і c# module 10
Net framework і c# module 10Net framework і c# module 10
Net framework і c# module 10
Andrii Hladkyi
 
Net framework and C# module 17. Serialization
Net framework and  C# module 17. SerializationNet framework and  C# module 17. Serialization
Net framework and C# module 17. Serialization
Andrii Hladkyi
 

What's hot (16)

08 Exceptions and AOP
08  Exceptions and AOP08  Exceptions and AOP
08 Exceptions and AOP
 
Angular. presentation
Angular. presentationAngular. presentation
Angular. presentation
 
System programing module 1. Processes
System programing module 1. ProcessesSystem programing module 1. Processes
System programing module 1. Processes
 
G rpc lection1_theory_bkp2
G rpc lection1_theory_bkp2G rpc lection1_theory_bkp2
G rpc lection1_theory_bkp2
 
System programing module 2. Threads
System programing module 2. ThreadsSystem programing module 2. Threads
System programing module 2. Threads
 
12 Architecture
12 Architecture12 Architecture
12 Architecture
 
JS Fest 2019/Autumn. Роман Савіцький. Webcomponents & lit-element in production
JS Fest 2019/Autumn. Роман Савіцький. Webcomponents & lit-element in productionJS Fest 2019/Autumn. Роман Савіцький. Webcomponents & lit-element in production
JS Fest 2019/Autumn. Роман Савіцький. Webcomponents & lit-element in production
 
Rpc
RpcRpc
Rpc
 
Web service lecture
Web service lectureWeb service lecture
Web service lecture
 
Тестування при розробці програмного забезпечення. Unit Tests.
Тестування при розробці програмного забезпечення. Unit Tests.Тестування при розробці програмного забезпечення. Unit Tests.
Тестування при розробці програмного забезпечення. Unit Tests.
 
Net framework і c# module 5
Net framework і c# module 5Net framework і c# module 5
Net framework і c# module 5
 
вашенюк
вашенюквашенюк
вашенюк
 
cpp-2013 #20 Best practices
cpp-2013 #20 Best practicescpp-2013 #20 Best practices
cpp-2013 #20 Best practices
 
11 web services
11 web services11 web services
11 web services
 
Net framework і c# module 10
Net framework і c# module 10Net framework і c# module 10
Net framework і c# module 10
 
Net framework and C# module 17. Serialization
Net framework and  C# module 17. SerializationNet framework and  C# module 17. Serialization
Net framework and C# module 17. Serialization
 

Viewers also liked

Agile (IF PM Group) v2
Agile (IF PM Group) v2Agile (IF PM Group) v2
Agile (IF PM Group) v2
Anatoliy Okhotnikov
 
Debugging PHP With Xdebug
Debugging PHP With XdebugDebugging PHP With Xdebug
Debugging PHP With Xdebug
Mark Niebergall
 
Php web app security (eng)
Php web app security (eng)Php web app security (eng)
Php web app security (eng)
Anatoliy Okhotnikov
 
ITEvent: Continuous Integration (ukr)
ITEvent: Continuous Integration (ukr)ITEvent: Continuous Integration (ukr)
ITEvent: Continuous Integration (ukr)
Anatoliy Okhotnikov
 
Ubuntu server wireless access point (eng)
Ubuntu server wireless access point (eng)Ubuntu server wireless access point (eng)
Ubuntu server wireless access point (eng)
Anatoliy Okhotnikov
 
Debug (ukr)
Debug (ukr)Debug (ukr)
Debug (ukr)
Anatoliy Okhotnikov
 
Php unit (eng)
Php unit (eng)Php unit (eng)
Php unit (eng)
Anatoliy Okhotnikov
 
Web application security (eng)
Web application security (eng)Web application security (eng)
Web application security (eng)
Anatoliy Okhotnikov
 
Jenkins CI (ukr)
Jenkins CI (ukr)Jenkins CI (ukr)
Jenkins CI (ukr)
Anatoliy Okhotnikov
 
ITIL (ukr)
ITIL (ukr)ITIL (ukr)
Continuous integration (eng)
Continuous integration (eng)Continuous integration (eng)
Continuous integration (eng)
Anatoliy Okhotnikov
 
ITEvent: Kanban Intro (ukr)
ITEvent: Kanban Intro (ukr)ITEvent: Kanban Intro (ukr)
ITEvent: Kanban Intro (ukr)
Anatoliy Okhotnikov
 
Db design (ukr)
Db design (ukr)Db design (ukr)
Db design (ukr)
Anatoliy Okhotnikov
 
Linux introduction (eng)
Linux introduction (eng)Linux introduction (eng)
Linux introduction (eng)
Anatoliy Okhotnikov
 
Project Management: Burn-Down Chart / OrangeHRM Project MOD (eng)
Project Management: Burn-Down Chart / OrangeHRM Project MOD (eng)Project Management: Burn-Down Chart / OrangeHRM Project MOD (eng)
Project Management: Burn-Down Chart / OrangeHRM Project MOD (eng)
Anatoliy Okhotnikov
 
Agile Feedback Loops (ukr)
Agile Feedback Loops (ukr)Agile Feedback Loops (ukr)
Agile Feedback Loops (ukr)
Anatoliy Okhotnikov
 
Ldap introduction (eng)
Ldap introduction (eng)Ldap introduction (eng)
Ldap introduction (eng)
Anatoliy Okhotnikov
 

Viewers also liked (17)

Agile (IF PM Group) v2
Agile (IF PM Group) v2Agile (IF PM Group) v2
Agile (IF PM Group) v2
 
Debugging PHP With Xdebug
Debugging PHP With XdebugDebugging PHP With Xdebug
Debugging PHP With Xdebug
 
Php web app security (eng)
Php web app security (eng)Php web app security (eng)
Php web app security (eng)
 
ITEvent: Continuous Integration (ukr)
ITEvent: Continuous Integration (ukr)ITEvent: Continuous Integration (ukr)
ITEvent: Continuous Integration (ukr)
 
Ubuntu server wireless access point (eng)
Ubuntu server wireless access point (eng)Ubuntu server wireless access point (eng)
Ubuntu server wireless access point (eng)
 
Debug (ukr)
Debug (ukr)Debug (ukr)
Debug (ukr)
 
Php unit (eng)
Php unit (eng)Php unit (eng)
Php unit (eng)
 
Web application security (eng)
Web application security (eng)Web application security (eng)
Web application security (eng)
 
Jenkins CI (ukr)
Jenkins CI (ukr)Jenkins CI (ukr)
Jenkins CI (ukr)
 
ITIL (ukr)
ITIL (ukr)ITIL (ukr)
ITIL (ukr)
 
Continuous integration (eng)
Continuous integration (eng)Continuous integration (eng)
Continuous integration (eng)
 
ITEvent: Kanban Intro (ukr)
ITEvent: Kanban Intro (ukr)ITEvent: Kanban Intro (ukr)
ITEvent: Kanban Intro (ukr)
 
Db design (ukr)
Db design (ukr)Db design (ukr)
Db design (ukr)
 
Linux introduction (eng)
Linux introduction (eng)Linux introduction (eng)
Linux introduction (eng)
 
Project Management: Burn-Down Chart / OrangeHRM Project MOD (eng)
Project Management: Burn-Down Chart / OrangeHRM Project MOD (eng)Project Management: Burn-Down Chart / OrangeHRM Project MOD (eng)
Project Management: Burn-Down Chart / OrangeHRM Project MOD (eng)
 
Agile Feedback Loops (ukr)
Agile Feedback Loops (ukr)Agile Feedback Loops (ukr)
Agile Feedback Loops (ukr)
 
Ldap introduction (eng)
Ldap introduction (eng)Ldap introduction (eng)
Ldap introduction (eng)
 

Similar to Xdebug (ukr)

Як прокачати трьох студентів за п’ять тижнів
Як прокачати трьох студентів за п’ять тижнівЯк прокачати трьох студентів за п’ять тижнів
Як прокачати трьох студентів за п’ять тижнів
Stfalcon Meetups
 
Як прокачати трьох студентів за п’ять тижнів
Як прокачати трьох студентів за п’ять тижнівЯк прокачати трьох студентів за п’ять тижнів
Як прокачати трьох студентів за п’ять тижнів
Artem Henvald
 
Невивчені уроки або логи антивірусних війн
Невивчені уроки або логи антивірусних війнНевивчені уроки або логи антивірусних війн
Невивчені уроки або логи антивірусних війн
Vladyslav Radetsky
 
Корнілов Андрій
Корнілов АндрійКорнілов Андрій
Корнілов Андрій
Oleg Nazarevych
 
"Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ...
"Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ..."Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ...
"Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ...
Fwdays
 
природна і економна дорожня карта для переходу команди розробки на тест центр...
природна і економна дорожня карта для переходу команди розробки на тест центр...природна і економна дорожня карта для переходу команди розробки на тест центр...
природна і економна дорожня карта для переходу команди розробки на тест центр...
Andrii Podanenko
 
"Rethinking Continuous Delivery", Andrii Nasinnyk
"Rethinking Continuous Delivery",  Andrii Nasinnyk"Rethinking Continuous Delivery",  Andrii Nasinnyk
"Rethinking Continuous Delivery", Andrii Nasinnyk
Fwdays
 
Stfalcon QA Meetup 31.01.2020
Stfalcon QA Meetup 31.01.2020Stfalcon QA Meetup 31.01.2020
Stfalcon QA Meetup 31.01.2020
Stfalcon Meetups
 
DrupalTour. Zhytomyr — Drupal Optimization (Dmitry Kinakh, InternetDevels)
DrupalTour. Zhytomyr — Drupal Optimization (Dmitry Kinakh, InternetDevels)DrupalTour. Zhytomyr — Drupal Optimization (Dmitry Kinakh, InternetDevels)
DrupalTour. Zhytomyr — Drupal Optimization (Dmitry Kinakh, InternetDevels)
Drupaltour
 
Порівняння Drupal та Typo3
Порівняння Drupal та Typo3Порівняння Drupal та Typo3
Порівняння Drupal та Typo3Drupal Camp Kyiv
 
порівняння Drupal та Typo3
порівняння Drupal та Typo3порівняння Drupal та Typo3
порівняння Drupal та Typo3Inna Tuyeva
 
Розробка веб-сайту. Основні етапи
Розробка веб-сайту. Основні етапиРозробка веб-сайту. Основні етапи
Розробка веб-сайту. Основні етапи
Олексій Артеменко
 
Drupal Optimization
Drupal OptimizationDrupal Optimization
Drupal Optimization
Dmytro Kinakh
 
Павло Юрійчук — Перехід на Angular.js. Howto
Павло Юрійчук — Перехід на Angular.js. HowtoПавло Юрійчук — Перехід на Angular.js. Howto
Павло Юрійчук — Перехід на Angular.js. Howto
GlobalLogic Ukraine
 
Global logic tech talk switching to Angular.js
Global logic tech talk switching to Angular.jsGlobal logic tech talk switching to Angular.js
Global logic tech talk switching to Angular.js
Pavlo Iuriichuk
 
Joomla 3. Що нового для розробників у новій версії - Віталій Маренков
Joomla 3. Що нового для розробників у новій версії - Віталій МаренковJoomla 3. Що нового для розробників у новій версії - Віталій Маренков
Joomla 3. Що нового для розробників у новій версії - Віталій Маренков
Igor Bronovskyy
 
Html5
Html5Html5
'Why svelte' by BORYS MOHYLA at OdessaJS'2020
'Why svelte' by BORYS MOHYLA at OdessaJS'2020'Why svelte' by BORYS MOHYLA at OdessaJS'2020
'Why svelte' by BORYS MOHYLA at OdessaJS'2020
OdessaJS Conf
 
"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy
"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy
"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy
Fwdays
 

Similar to Xdebug (ukr) (20)

Як прокачати трьох студентів за п’ять тижнів
Як прокачати трьох студентів за п’ять тижнівЯк прокачати трьох студентів за п’ять тижнів
Як прокачати трьох студентів за п’ять тижнів
 
Як прокачати трьох студентів за п’ять тижнів
Як прокачати трьох студентів за п’ять тижнівЯк прокачати трьох студентів за п’ять тижнів
Як прокачати трьох студентів за п’ять тижнів
 
Невивчені уроки або логи антивірусних війн
Невивчені уроки або логи антивірусних війнНевивчені уроки або логи антивірусних війн
Невивчені уроки або логи антивірусних війн
 
Корнілов Андрій
Корнілов АндрійКорнілов Андрій
Корнілов Андрій
 
"Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ...
"Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ..."Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ...
"Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ...
 
природна і економна дорожня карта для переходу команди розробки на тест центр...
природна і економна дорожня карта для переходу команди розробки на тест центр...природна і економна дорожня карта для переходу команди розробки на тест центр...
природна і економна дорожня карта для переходу команди розробки на тест центр...
 
"Rethinking Continuous Delivery", Andrii Nasinnyk
"Rethinking Continuous Delivery",  Andrii Nasinnyk"Rethinking Continuous Delivery",  Andrii Nasinnyk
"Rethinking Continuous Delivery", Andrii Nasinnyk
 
Stfalcon QA Meetup 31.01.2020
Stfalcon QA Meetup 31.01.2020Stfalcon QA Meetup 31.01.2020
Stfalcon QA Meetup 31.01.2020
 
DrupalTour. Zhytomyr — Drupal Optimization (Dmitry Kinakh, InternetDevels)
DrupalTour. Zhytomyr — Drupal Optimization (Dmitry Kinakh, InternetDevels)DrupalTour. Zhytomyr — Drupal Optimization (Dmitry Kinakh, InternetDevels)
DrupalTour. Zhytomyr — Drupal Optimization (Dmitry Kinakh, InternetDevels)
 
Порівняння Drupal та Typo3
Порівняння Drupal та Typo3Порівняння Drupal та Typo3
Порівняння Drupal та Typo3
 
порівняння Drupal та Typo3
порівняння Drupal та Typo3порівняння Drupal та Typo3
порівняння Drupal та Typo3
 
Розробка веб-сайту. Основні етапи
Розробка веб-сайту. Основні етапиРозробка веб-сайту. Основні етапи
Розробка веб-сайту. Основні етапи
 
Drupal Optimization
Drupal OptimizationDrupal Optimization
Drupal Optimization
 
Павло Юрійчук — Перехід на Angular.js. Howto
Павло Юрійчук — Перехід на Angular.js. HowtoПавло Юрійчук — Перехід на Angular.js. Howto
Павло Юрійчук — Перехід на Angular.js. Howto
 
Global logic tech talk switching to Angular.js
Global logic tech talk switching to Angular.jsGlobal logic tech talk switching to Angular.js
Global logic tech talk switching to Angular.js
 
ASP.Net MVC
ASP.Net MVCASP.Net MVC
ASP.Net MVC
 
Joomla 3. Що нового для розробників у новій версії - Віталій Маренков
Joomla 3. Що нового для розробників у новій версії - Віталій МаренковJoomla 3. Що нового для розробників у новій версії - Віталій Маренков
Joomla 3. Що нового для розробників у новій версії - Віталій Маренков
 
Html5
Html5Html5
Html5
 
'Why svelte' by BORYS MOHYLA at OdessaJS'2020
'Why svelte' by BORYS MOHYLA at OdessaJS'2020'Why svelte' by BORYS MOHYLA at OdessaJS'2020
'Why svelte' by BORYS MOHYLA at OdessaJS'2020
 
"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy
"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy
"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy
 

Xdebug (ukr)

  • 2. Softjourn Inc. xdebug Анатолій Охотніков Softjourn Inc.
  • 3. 1/23/13 Про що буде йти мова ● Що таке xdebug? ● Налаштування PhpStorm ● Профілірування (profiling) ● Обробка помилок ● Трасування (tracing) ● Посилання ● Питання та обговорення
  • 4. Що таке xdebug?  xdebug – це розширення для PHP, написане Derick Rethans, одним з розробників мови PHP  Силова станція РНР  Має багато можливостей, наприклад відладка, трасування, профілірування та аналіз проблем у РНР коді  Відображення(дампи) змінних, віддалена відладка, трасування функцій, аналіз покриття коду
  • 5. Налаштування PhpStorm  Додати сервер  Вказати порт для прослуховування  Почати прослуховування  Відкрити сторінку  Почати відладку  ???  PROFIT!
  • 7. Вказати порт для прослуховування
  • 11. ??? javascript:(/** @version 0.5.2 */function() {document.cookie='XDEBUG_SESSION='+'PHPSTORM- XDEBUG'+';path=/;';document.location.reload();document.cookie='X DEBUG_SESSION='+''+';expires=Mon, 05 Jul 2000 00:00:00 GMT;path=/;';})()
  • 13. Профілірування (profiling)  Xdebug може генерувати cachegrind файли, які містять інформацію для профілірування  Це може використовуватись для знаходження вузьких місць у ваших скриптах  Інструменти: WinCacheGrind, KCacheGrind, webgrind  Дозволяють аналізувати виконання скрипта (розбивка часу виконання, кількість викликів функцій, тощо)
  • 15. Обробка помилок php_flag xdebug.collect_vars on php_value xdebug.collect_params 4 php_flag xdebug.dump_globals on php_value xdebug.dump.SERVER REQUEST_URI php_value xdebug.dump.GET * php_value xdebug.dump.POST * php_value xdebug.dump.COOKIE * php_flag xdebug.show_local_vars on
  • 16. Трасування (tracing) php_value xdebug.show_mem_delta 1 php_value xdebug.collect_return 1 php_value xdebug.collect_params 4 php_value xdebug.auto_trace 1
  • 17. Посилання  http://blog.jetbrains.com/webide/2011/02/ze ro-configuration-debugging-with-xdebug- and-phpstorm-2-0/  http://blog.jetbrains.com/webide/2011/03/co nfigure-php-debugging-in-phpstorm-2-0/  http://habrahabr.ru/post/31452/  http://xdebug.org/  PHP-Code-Profiling-and-Debugging- XDebug.ppt  Xdebug-PHP-Performance-Profiling- Debugging.ppt
  • 18. Питання та обговорення “Анатолій Охотніков” <aokhotnikov@softjourn.com> Copyright © 2000-2011 Softjourn, Inc. All rights reserved