วิธีการดีบั๊กปลั๊กอินด้วย Xdebug


12

ฉันสามารถติดตั้งและตั้งค่าได้อย่างง่ายดาย NetBeans 6.9.1 และ Xdebug ในสภาพแวดล้อมท้องถิ่นของฉันอิงตาม PHP 5.3.0 (XAMPP)

ปัญหาของฉันในตอนนี้คือต่อไปนี้: ถ้าฉันใส่เบรกพอยต์บน index.php ของ Wordpress หรือไฟล์อื่น ๆ ของคอร์เซ็ต PHP หลัก NetBeans หยุดอย่างถูกต้องในตำแหน่งที่ต้องการ ถ้าฉันใส่เบรกพอยต์ในไฟล์ปลั๊กอินทริกเกอร์การเรียกใช้โค้ด NetBeans จะไม่หยุดแค่นั้น

คุณรู้จักวิธีแก้ไขหรือไม่?

อัปเดต:ข้อมูลเพิ่มเติมเกี่ยวกับสิ่งที่ฉันกำลังพยายามแก้ไขปัญหา

ปลั๊กอินเรียกว่าVanilla Forumsและมีโครงสร้างไฟล์ต่อไปนี้:

- plugins
  - vanilla-forums
    + assets
    + nbproject
    + templates
      admin.php
      embed.php
      functions.php
      hooks.php
      plugin.php
      sso.php
      widgets.php

ผมตั้งจุดพักภายในฟังก์ชั่นที่มีชื่อที่กำหนดไว้ในvf_validate_options functions.phpฉันแน่ใจว่ามีการใช้งานฟังก์ชันนี้ แต่ NetBeans ไม่ได้หยุดอยู่แค่นั้น


หากคุณใส่throw new Exception('die');คำสั่งหลังจากบรรทัดของเบรกพอยต์มันจะหยุดหรือไม่ (ในความหมายที่สิ่งนี้ฆ่า / จบคำขอของคุณ)?
hakre

@hakre ใช่มันจะพ่นยกเว้น (ผมแน่ใจว่ารหัสที่เบรกพอยต์เป็นชุดจะถูกดำเนินการ)
เป็ด

1
@Drake: รหัสนี้ทำงานในหน้าหลักหรือในการโทร Ajax หรือไม่ ฉันเชื่อว่าตัวแก้จุดบกพร่อง Xdebug ต้องเปิดใช้งานด้วยตัวแปร GET หรือ POST บางตัวแล้วตั้งค่าคุกกี้บางทีมันอาจไม่เปิดใช้งานสำหรับคำขอ Ajax หรือไม่
Jan Fabry

1
ฉันมีปัญหาเดียวกันที่แน่นอนและยังหาการแก้ไขไม่ได้! ฉันใช้ nusphere phped แต่ฉันลองใช้ Eclipse ด้วยเช่นกันโดยไม่มีผลลัพธ์! ไฟล์เดียวที่ xdebug หยุดบนเบรกพอยต์คือไฟล์เวิร์ดเพรส "คอร์" ไฟล์ php ของชุดรูปแบบไม่สามารถดีบักได้! แจ้งให้เราทราบหากคุณพบทางออกฉันโพสต์ในฟอรัมอย่างเป็นทางการของ wordpress โดยไม่มีการตอบกลับ :(
Kreker

1
ฉันคิดว่า Jan Fabry กำลังหาทางแก้ไข ฉันชอบใช้ปลั๊กอิน Firefox EasyXdebugซึ่งจะเพิ่มXDEBUG_SESSION_STARTพารามิเตอร์การสืบค้นลงในคำขอทั้งหมด
Jeff Stieler

คำตอบ:



1

มีโซลูชั่นที่ง่ายมีนามสกุล Firebox เป็นXdebug Helper โดยไบรอันกิลเบิร์ ชุดคุกกี้สำหรับxdebugเซสชันที่อนุญาตให้คุณใช้xdebugภายในปลั๊กอิน WordPress ของคุณ

นอกจากนี้ยังมีส่วนขยายสำหรับ Chrome, Safari และ Opera ลิงค์สามารถพบได้บนเว็บไซต์ xdebug


0

สวัสดี@ Drake:

คำถามโง่ฉันรู้ แต่คุณ"เปิดใช้งาน"ปลั๊กอินหรือไม่ นั่นคือสิ่งที่ฉันเดินทางขึ้นเมื่อปลั๊กอินไม่ได้ถูกดีบั๊ก


ใช่เปิดใช้งานปลั๊กอินแล้ว สิ่งที่ฉันพยายามที่จะแก้ไขข้อบกพร่องคือฟังก์ชั่นทริกเกอร์โดยเมนูที่สร้างขึ้นโดยปลั๊กอินตัวเองในพื้นที่ผู้ดูแลระบบ
Drake

@Drake - "ทริกเกอร์ฟังก์ชันคืออะไร" คุณช่วยกรุณาโพสต์รหัสของคุณเป็นการอัปเดตคำถามของคุณได้ไหม?
MikeSchinkel

0

ไม่มีวิธีการดีบักไฟล์ของปลั๊กอิน วิธีเดียวที่ฉันพบสำหรับการดีบัก wordpress คือการใช้ nusphere phped ซึ่งน่าเสียดายที่ไม่ใช่ฟรีแวร์ ดูเหมือนว่าเป็นสิ่งเดียวที่สามารถทำได้ฉันไม่รู้ว่าทำไม แต่ฉันใช้เวลานานมากในการหาวิธีแก้ปัญหาด้วย netbeans และ eclipse ... โดยไม่มีผลลัพธ์!


-3

ทีนี้, เนื่องจาก WordPress ให้ตัวเองWP_DEBUG, และwp_die($msg)... ทำไมคุณต้อง debug ด้วย Xdebug? ถ้าคุณกำลังสร้างปลั๊กอินโดยใช้เฟรมเวิร์ก


xdebug นำเสนอเครื่องมือมากมายที่ WP_DEBUG และเอาท์พุทไม่ได้ - การทำโปรไฟล์และการก้าวผ่านโค้ดเพื่อเริ่มต้น ...
boisvert

ตกลงในเวลานั้นฉันมีความรู้น้อยมากเกี่ยวกับ Xdebug
adrian7
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.