CPU-View ขั้นสูงสำหรับ Lazarus
ความสนใจ - เบต้าเวอร์ชัน !!!
การตั้งค่าและการใช้งาน:
- ดาวน์โหลด fwhexview https://github.com/alexanderbagel/fwhexview และรวบรวม fwhexview.lcl.lpk
- เปิด cpuview_d.lpk และติดตั้งใน IDE (เมนู: แพ็คเกจ-> ติดตั้ง/ยกเลิกการติดตั้งแพ็คเกจ)
- สร้าง IDE ใหม่
- ในโหมดดีบักเลือกเมนู "view-> debug windows-> cpu-view" หรือกด Ctrl+Shift+C
- สนุก
ปัญหาที่รู้จัก:
หากในระหว่างการสร้างใหม่ Lazarus เขียนว่า "Fatal: ไม่พบหน่วย DLGCPUVIEWIMplementation ที่ใช้โดย cpuView.reg" เป็นสิ่งจำเป็น: จำเป็น:
- รวบรวมแพ็คเกจ cpuview_d อีกครั้ง
- สร้าง IDE อีกครั้ง
สาเหตุของข้อผิดพลาดนี้ยังไม่ชัดเจน
บันทึกการดีบักและ DUST Dump:
บันทึกการดีบักถูกเก็บไว้ในเส้นทางต่อไปนี้:“ lazarus_path config_lazarus cpuview debug.log”
มันถูกสร้างขึ้นเมื่อเปิดกล่องโต้ตอบ CPU-View ครั้งแรกและมีบันทึกทั้งหมดที่เพิ่มเข้ามาในระหว่างเซสชัน (เช่นจนถึง Lazarus ในที่สุดก็ปิด)
บันทึกของเซสชันก่อนหน้าจะถูกลบเมื่อเริ่มต้นดังนั้นหากเกิดข้อผิดพลาดคุณควรบันทึกไฟล์บันทึกสำหรับการวิเคราะห์ในภายหลัง
หากมีข้อยกเว้นเกิดขึ้น CallStack จะถูกบันทึกลงในบันทึกปัจจุบัน
คุณสามารถปิดการใช้งานการบันทึกหรือการรวบรวมการถ่ายโอนข้อมูลในการตั้งค่า "เครื่องมือ-> ตัวเลือก-> สภาพแวดล้อม-> CPU-view"
บรรณาธิการห้าคนที่ใช้งานอยู่:
- ถอดชิ้นส่วน
- ลงทะเบียน
- ทิ้ง
- กองซ้อน
- สคริปต์และคำใบ้
คุณสมบัติทั่วไป:
- ระบบปฏิบัติการ: การสนับสนุน Windows และ Linux ผ่าน GTK2 หรือ QT5
- Proc: Intel x86_64 (ยังไม่ได้ใช้แขน)
- บริบทเธรด (Basic, X87 และ SIMD register) การสนับสนุนเต็มรูปแบบบน Windows และ Linux
- ธีมการแสดงแสงและมืด
- การสนับสนุนการคอมไพล์ข้าม
- รองรับการสลับเธรดด้วยการเปลี่ยนแปลงข้อมูลที่แสดงทันทีเกี่ยวกับเธรดที่ใช้งานอยู่ทันที
- คำสั่งเพื่อข้ามที่อยู่ที่เลือกไว้ในหน้าต่างใด ๆ
- สแต็คกระโดดแบบสองทิศทางในแต่ละตัวแก้ไข
หน้าต่างถอดชิ้นส่วนรองรับ:
- ข้อมูลการดีบักเอาท์พุท
- กระโดดแสดงทิศทาง
- เน้นการกระโดดที่ใช้งานอยู่
- เน้นการลงทะเบียนที่เลือก
- แสดงชื่อของฟังก์ชั่นที่เรียกแทนที่อยู่
- การชดเชย
- คำแนะนำเกี่ยวกับคำสั่งที่เลือกด้วยเมนูเพื่อข้ามไปยังแต่ละบล็อกของข้อมูลที่ได้รับ
- คำแนะนำการระบายสีสำหรับการอ่านรหัสง่าย
- จุดพัก (แสดงและแก้ไข)
- การซิงโครไนซ์บุ๊กมาร์ก (ยังไม่ได้ใช้งาน)
- แสดง disassembler สำหรับการกระโดดแต่ละครั้งในคำแนะนำเครื่องมือ (ยังไม่ได้ใช้งาน)
ลงทะเบียนหน้าต่าง:
- มีข้อมูลการดีบักสำหรับการลงทะเบียนแต่ละครั้ง (RAX..R15)
- แสดงการลงทะเบียน SIMD (XMM และ YMM) พร้อมโหมดแสดง 12 โหมด
- โหมดการแสดงผลสามโหมดสำหรับการลงทะเบียน x87 (ST-RM)
- การแสดง Bitwise ของ EFLAGS, TAGWORD, Statuse Word, Worder, MXCSR FLAG Registers (รวม Tagword ที่ถอดรหัสใน X64)
- เปลี่ยนค่าการลงทะเบียนทั้งหมดและการสลับการตั้งค่าสถานะอย่างรวดเร็ว (การเปลี่ยนแปลง X87/SIMD ยังไม่ได้ใช้งาน)
- โหมดการแสดงผลสองโหมด (เต็มและกะทัดรัด)
- คำแนะนำอย่างรวดเร็วเกี่ยวกับคำแนะนำการกระโดดที่ใช้งานอยู่
- รหัส Lasterror และ LastStatus พร้อมคำอธิบาย (Windows เท่านั้น)
- ไฮไลต์ของการลงทะเบียนที่เปลี่ยนแปลง
- เน้นและบอกใบ้ถึงที่อยู่ที่ผ่านการตรวจสอบ
สแต็กรองรับ:
- ข้อมูลการดีบัก
- การเน้นเฟรมและก่อนหน้า
- การเน้นที่อยู่
- การชดเชย
- เน้นและบอกใบ้ถึงที่อยู่ที่ผ่านการตรวจสอบ
สนับสนุนการถ่ายโอนข้อมูล:
- การชดเชย
- หน้าต่างถ่ายโอนข้อมูลหลายบาน
- 17 โหมดการแสดงผล (รวมถึงความยาว double 80 บิต)
- 6 โหมดการเข้ารหัสข้อความ
- 5 โหมดคัดลอก (รวมอาร์เรย์ Pascal)
- เน้นและบอกใบ้ถึงที่อยู่ที่ผ่านการตรวจสอบ
- กระโดดอย่างรวดเร็วไปยังที่อยู่ที่ผ่านการตรวจสอบแล้ว (ผ่าน Ctrl+คลิก)
- การเลือก (ยังไม่ได้ใช้งาน)
- การจดจำที่อยู่และการเน้น (ยังไม่ได้ใช้งาน)
รูปร่าง:
ชุดรูปแบบแสง:
ธีมมืด:
Active Jump, Breakpoints คำแนะนำอัจฉริยะสำหรับคำแนะนำที่เลือกและเมนูของพวกเขา:
ลงทะเบียน Hightlight:
โหมด Regview แบบเต็ม:
โหมด Regview สั้นพร้อม FPU-STX Regs (RX และ MX พร้อมใช้งาน):
โหมด Regview สั้น ๆ พร้อม XMM Regs (YMM และ Debug พร้อมใช้งาน):
ตัวเลือกต่าง ๆ สำหรับการแสดงการลงทะเบียน:
สแต็ค:
สแต็คกับออฟเซ็ต: