การดีบัก OpenGL ES 2.0 [ปิด]

ฉันมีแอป OpenGL ES 2.0 โดยรวบรวมและรันในเครื่องจำลอง iPhone/iPad บน iPhone/iPad จริง และใน Windows โดยใช้ไลบรารีโปรแกรมจำลองของ Imgtec (เช่น PVRVframe)

ในแอปดังกล่าว ฉันมีการเรียกแบบดึงโดยเฉพาะครั้งหนึ่งซึ่งส่งผลให้ไม่มีการเขียนพิกเซลไปยังเป้าหมาย แม้ว่าสถานะทั้งหมดที่ฉันสามารถค้นหาได้จะดูสมเหตุสมผล (วิวพอร์ต, การทดสอบเชิงลึก/การทดสอบลายฉลุ/คัดแยก/ผสมผสาน, framebuffer เสร็จสมบูรณ์ ฯลฯ ) และ AFAICT ฉันกำลังส่งข้อมูลจุดสุดยอดที่สมเหตุสมผล

สิ่งที่ฉันต้องการในตอนนี้คือเครื่องมือแบบ Pix / GPAD ที่จะให้ฉันก้าวผ่านฉากต่างๆ และสถานะการตรวจสอบ ฉันไม่สามารถสืบค้นจาก OpenGL ได้โดยตรง ณ จุดนั้น ของการเรียกดึงที่เป็นปัญหา (เช่น เนื้อหาบัฟเฟอร์จุดยอด/ดัชนีจริง)

ดูเหมือนว่าทั้ง PVRTrace และ เครื่องมือ OSX จะบันทึกสถานะได้เพียงพอสำหรับการแก้ไขข้อบกพร่องประเภทนี้ โดยเฉพาะอย่างยิ่ง พวกเขาไม่ได้จับบัฟเฟอร์จุดยอด/ดัชนีหรือข้อมูลพื้นผิว (เครื่องมือ OSX ไม่ได้จับแหล่งที่มาของเชเดอร์เช่นกัน)

gDEBugger ซึ่งก่อนหน้านี้เป็นคำตอบสำหรับคำถามประเภทนี้ใน Stack Overflow ตอนนี้เป็นเวอร์ชัน 5.8 แล้ว ซึ่งเปิดให้ใช้งานฟรีแล้ว ซึ่งถือว่าดี แต่ไม่รองรับ OpenGL ES 2 อีกต่อไป (ใน Windows จะไม่มีการเรนเดอร์ ES2 ได้อีกต่อไป config พร้อมใช้งานผ่าน EGL; ภายใต้ OSX ไม่มีวิธีแนบดีบักเกอร์กับแอปที่ทำงานทั้งในเครื่องจำลองหรือบนอุปกรณ์จริง) - ซึ่งไม่ดีเท่าที่ควร

ฉันพลาดบางสิ่งบางอย่างที่ชัดเจนไปหรือเปล่า? ฉันมีตัวเลือกอะไรบ้าง? คนอื่นจะแก้ไขฉากของพวกเขาอย่างไร


person moonshadow    schedule 25.03.2011    source แหล่งที่มา
comment
สำหรับบันทึก ตอนนี้ได้แก้ไขปัญหาที่ฉันมีแล้ว จริงๆ แล้วมันเป็นสถานะที่ไม่ได้ถูกบันทึกโดยเครื่องมือใดๆ ข้างต้นหรือสามารถสอบถามผ่าน OpenGL ได้ ใช้เวลาหนึ่งเช้าในการติดตาม ปัญหาจะชัดเจนทันทีหากฉันมีดัมพ์สถานะ สมบูรณ์ เลยยังอยากได้คำตอบไว้ครั้งหน้าครับ :)   -  person moonshadow    schedule 25.03.2011
comment
...ผ่านไปหนึ่งสัปดาห์แล้ว และครั้งต่อไปก็มาถึงแล้ว เครื่องมือที่สมเหตุสมผลต้องมีที่ไหนสักแห่งใช่ไหม ขวา?   -  person moonshadow    schedule 01.04.2011


คำตอบ (3)


เป็นไปได้ใน Xcode ตั้งแต่เวอร์ชัน 4.2, c.f. https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/WhatsNewXcode/Articles/xcode_4_2.html#//apple_ref/doc/uid/00200-SW5

person Alexis Pribula    schedule 09.03.2012
comment
สิ่งอำนวยความสะดวกเฟรมจับภาพ Xcode ขณะนี้ครบกำหนดเพียงพอสำหรับการดีบักปัญหาเกือบทั้งหมด เราพบว่าไม่สามารถใช้กับอุปกรณ์ยุค iPad1 สำหรับเฟรมที่ซับซ้อนได้เนื่องจากอุปกรณ์มีหน่วยความจำไม่เพียงพอ แต่นั่นไม่ใช่ปัญหาที่ผ่านไม่ได้อย่างแน่นอน โปรดทราบว่าคุณต้องตรวจสอบให้แน่ใจว่าพื้นที่ทำงาน Xcode มีเฟรมเวิร์ก OpenGL ES แม้ว่าคุณจะมีกระบวนการภายนอกที่สร้างงานสร้างของคุณจริงๆ (เราใช้ Jam) ไม่เช่นนั้นระบบจับภาพเฟรมจะถูกปิดใช้งานโดยไม่มีคำอธิบาย - หวังว่านี่จะช่วยคนอื่นได้ บ้าง :) - person moonshadow; 07.09.2012

มีเครื่องมือแก้ไขข้อบกพร่อง OpenGL ES 1.1/2.0 หลายรายการจากผู้ขาย GPU เครื่องมือเหล่านี้เกือบทั้งหมดต้องใช้อุปกรณ์จริง แต่ Imagination Technologies มีไลบรารีการจำลองและเครื่องมือติดตามที่คุณใช้ คุณใช้ PVRTrace กับ PVRVFrame หรือไม่

(ฉันเชื่อว่า gDEBugger 5.7 เป็นเครื่องมือที่ดีที่สุดสำหรับการดีบัก OpenGL ES 1.1/2.0 แต่ไม่มีให้บริการอีกต่อไป...)

person Kazuki Sakamoto    schedule 05.04.2011
comment
ฉันได้ดู PVRTrace แล้วตามที่ฉันอธิบายในคำถามของฉัน มันไม่ได้จับเนื้อหาบัฟเฟอร์พื้นผิวหรือจุดยอด/ดัชนี (หรืออาจไม่สามารถแสดงได้) และ (ที่สำคัญน้อยกว่า) ไม่ได้ให้วิธีการก้าวผ่านเฟรมและแสดงผลลัพธ์ของการเรียกแบบดึงเฉพาะในฐานะดีบักเกอร์ที่เป็นผู้ใหญ่เช่น Pix และ GPAD ทำ ยิ่งไปกว่านั้น ฉันสังเกตเห็นว่าสถานะที่แสดงในโปรแกรมดูสถานะไม่เห็นด้วยกับสถานะที่รายงานไปยังโค้ดโดย glGet() สำหรับการโทรเฉพาะ และผลลัพธ์บนหน้าจอบ่งบอกว่า PVRTrace นั้นผิด ทำให้มีการใช้งานอย่างจำกัด ฉันไม่สามารถเข้าถึงอุปกรณ์ Adreno หรือ Mali ได้ - person moonshadow; 05.04.2011
comment
ตัวสร้างโปรไฟล์ Adreno นั้นยอดเยี่ยมสำหรับการจัดทำโปรไฟล์ แต่เช่นเดียวกับ PVRTrace นั้นจะบันทึกสถานะได้ไม่เพียงพอสำหรับการดีบัก - person moonshadow; 15.09.2011

ฉันพบว่า gDebugger 5.7 สำหรับ Windows IS ยังคงมีอยู่ที่นี่:

http://files.gremedy.com/downloads/gDEBugger-5_7.msi

ฉันแก้ไข URL นี้จาก URL ที่พบที่ด้านบนของหน้าดาวน์โหลดนี้: view-source:http://www.gremedy.com/downloading.php?platform=windows32

อาจเป็นไปได้ที่จะเข้าถึงเวอร์ชันเดียวกันสำหรับแพลตฟอร์มอื่นโดยใช้เคล็ดลับเดียวกัน

ไฟล์ใบอนุญาตเก่ามีอยู่ที่นี่: http://www.geeks3d.com/20101207/3d-programming-gdebugger-advanced-opengl-debugger-now-free/

แต่หมดอายุในวันที่ 31 มกราคม 2011

person XenonofArcticus    schedule 02.01.2012
comment
รุ่นล่าสุดของ gDEBugger 5.8.1 ไม่ต้องมีใบอนุญาตอีกต่อไป: gremedy.com/download.php - person Nathan Monteleone; 14.12.2012
comment
ลิงก์ gDebugger 5.8.1 ที่ใช้งานได้สำหรับ Windows : yun.baidu.com/s/1jGMeSCm - person Joseph; 06.04.2017