PHP Error Logging & Debugging ตอนที่2 : Xdebug


xdebug ไม่ได้ช่วยให้โปรแกรมเร็วขึ้น แตจะ่ช่วยรายงานข้อผิดพลาด และจุดที่เป็นคอขวด หรือทำงานช้า ให้ผู้พัฒนาโปรแกรมทราบ และทำการแก้ไข

Xdebug - Debugger and Profiler Tool for PHP
จะช่วยให้เราสามารถ ติดตาม ตรวจสอบการทำงานของ PHP และหาจุดผิดพลาดได้อย่างรวดเร็ว

ความสามารถหลักของ xdebug
- stack traces
- function traces
- parameter display
- profiling

xdebug ไม่ได้ช่วยให้โปรแกรมเร็วขึ้น แตจะ่ช่วยรายงานข้อผิดพลาด และจุดที่เป็นคอขวด หรือทำงานช้า ให้ผู้พัฒนาโปรแกรมทราบ และทำการแก้ไข

ก่อนการติดตั้ง Xdebug สิ่งที่ต้องมีคือ
Xdebug Windows Module for PHP 5.2.1+
Debug Client
อ่านการติดตั้งได้ที่นี่ และทดสอบการใช้งาน

ดังนั้นในการติดตั้ง
1. copy php_xdebug-2.0.0-5.2.2.dll ไปที่ c:\php\ext\

2.ผมกำหนดค่าดังนี้ใน php.ini

zend_extension_ts="C:\php\ext\php_xdebug-2.0.0-5.2.2.dll"

 

 

เล่นกับ Profiling
ผมกำหนด php.ini เพิ่มเติมดังนี้

xdebug.profiler_enable = 1
xdebug.profiler_output_dir = "./"

 

 เ็ป็นการเปิดใช้ profile และ กำหนด output ให้เก็บ path เดียวกับที่ php scritps อยู่
ไฟล์ที่ได้จากการ output จะชื่อ cachegrind.out.1234 ซึ่ง 1234 จะเป็นตัวเลขแบบสุ่ม (ชื่อ output กำหนดไ้้ด้ หาดูเอง)
ไฟล์ดังกล่าวเป็น text file ธรรมดาๆ ซึ่งเก็บประวัติการทำงานของ scripts อ่านพอออก แต่แนะนำว่าใช้โปรแกรม
KCachegrind - Profiling Visualization ปิดดูดีกว่า

xdebug ทำ profile ละเอียดขนาดไหน ดูรูปจากโปรแกรม
Cachegrind - Profiling Visualization ดีกว่า

      

เจ๋งใช่ไหมล่ะ ?

มีคนเคยเขียนไว้แล้วอยู่ที่
ตรวจสอบโค้ดและวัดความเร็ว PHP ง่ายๆ ด้วย Xdebug+WinCacheGrind เขียนโดยคุณfew ลองตามอ่านเพิ่มเิติมดูครับ

ใครสนใจ download ก็เลือกได้ระหว่าง
KCachegrind สำหรับ KDE
wincachegrind สำหรับ Windows
... GNOME จะได้ใช้โปรแกรมของ KDE ได้ไหมนี่??


Links
ตรวจสอบโค้ดและวัดความเร็ว PHP ง่ายๆ ด้วย Xdebug+WinCacheGrind

 

หมายเลขบันทึก: 123081เขียนเมื่อ 29 สิงหาคม 2007 13:35 น. ()แก้ไขเมื่อ 1 มิถุนายน 2012 17:40 น. ()สัญญาอนุญาต: จำนวนที่อ่านจำนวนที่อ่าน:


ความเห็น (1)
พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี
ClassStart Books
โครงการหนังสือจากคลาสสตาร์ท