อ่าน 1 นาที
ร่องรอยสาขา
การติดตามการแตกสาขาเป็น เครื่องมือหรือเทคนิคการวิเคราะห์ การดีบักโปรแกรมคอมพิวเตอร์ เป็นการติดตามคำสั่งแบบย่อซึ่งบันทึกเฉพาะคำสั่งแตกสาขา ที่สำเร็จเท่านั้น บน IBM
ร่องรอยสาขา
การติดตามการแตกสาขาเป็น เครื่องมือหรือเทคนิคการวิเคราะห์ การดีบักโปรแกรมคอมพิวเตอร์ เป็นการติดตามคำสั่งแบบย่อซึ่งบันทึกเฉพาะคำสั่งแตกสาขา ที่สำเร็จเท่านั้น บน IBM System/360ได้มีการนำสิ่งนี้มาใช้เป็นส่วนหนึ่งของการบันทึกเหตุการณ์โปรแกรม (PER) [ 1 ]แต่ไม่ค่อยได้ใช้ในระดับการเขียนโปรแกรมแอปพลิเคชัน มีการใช้ฮาร์ดแวร์การบันทึกเหตุการณ์โปรแกรม และเนื่องจากภาระงานของเครื่องมือนี้ จึงถูกถอดออกจากระบบ MVS ที่ลูกค้าสามารถใช้งานได้
การติดตามสาขายังมีให้ใช้งานสำหรับโปรเซสเซอร์Pentium 4 , Xeonและ Intel รุ่นต่อมา[ 2 ] มีคำสั่งโปรเซสเซอร์เฉพาะเพื่อเปิดใช้งานการติดตามสาขาและบันทึกสาขาที่ดำเนินการแล้วลงในพื้นที่หน่วยความจำหลัก Intel Branch Trace Store (BTS) พิเศษ Branch Trace Store ยังสามารถกำหนดค่าให้เป็นบัฟเฟอร์แบบวงกลมได้ เพื่อบันทึกสาขาที่ดำเนินการล่าสุด การติดตามสาขาบนโปรเซสเซอร์ Intel โดยใช้ Branch Trace Store อาจทำให้การทำงานของแอปพลิเคชันช้าลงถึง 40 เท่า[ 3 ]สำหรับIntel Core Mและโปรเซสเซอร์ Intel เจนเนอเรชั่นที่ 5 ได้มีการนำ Intel PT (Processor Trace) มาใช้ ซึ่งมีจุดมุ่งหมายเพื่อให้การติดตามการไหลของควบคุมแบบเต็มรูปแบบ Intel PT กล่าวกันว่ามีผลกระทบต่อการทำงานของโปรแกรมเพียงเล็กน้อย (< 5%) [ 4 ]
ใช้
เมื่อมีข้อมูลอ้างอิงและรายการ คอม ไพเลอร์ของโปรแกรม พร้อมกับข้อมูลการติดตามสาขา (branch trace) จะสามารถสร้างเส้นทางการทำงานของคำสั่งทั้งหมดขึ้นมาใหม่ได้ และหากใช้ความพยายามมากขึ้น ก็สามารถสร้างเส้นทางการทำงานทั้งหมดขึ้นมาใหม่ได้โดยใช้ข้อมูลหน่วยความจำ (memory dump ) (ซึ่งประกอบด้วยส่วนจัดเก็บโปรแกรม) และข้อมูลการติดตามสาขา (branch trace) เช่นกัน
ทางเลือกอื่นๆ
สามารถตรวจสอบลำดับการทำงานของคำสั่งทั้งหมดได้อย่างละเอียดมากขึ้น (รวมถึงคำสั่งระหว่างสาขา) โดยใช้โปรแกรมจำลองชุดคำสั่ง (หากมีในบางแพลตฟอร์ม) ลำดับการทำงานของคำสั่งทั้งหมดจะให้ข้อมูลเพิ่มเติม เช่น ที่อยู่/ความยาว และค่าของการเปลี่ยนแปลงหน่วยความจำ
ดูเพิ่มเติม
ลิงก์ภายนอก
- ขอแนะนำเครื่องมือติดตามสาขาใหม่ 'perf branch'โดย Akihiro Nagai
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ร่องรอยสาขา
การติดตามการแตกสาขาเป็น เครื่องมือหรือเทคนิคการวิเคราะห์ การดีบักโปรแกรมคอมพิวเตอร์ เป็นการติดตามคำสั่งแบบย่อซึ่งบันทึกเฉพาะคำสั่งแตกสาขา ที่สำเร็จเท่านั้น บน IBM
ใช้
เมื่อมีข้อมูลอ้างอิงและรายการ คอม ไพเลอร์ ของโปรแกรม พร้อมกับข้อมูลการติดตามสาขา (branch trace) จะสามารถสร้างเส้นทางการทำงานของคำสั่งทั้งหมดขึ้นมาใหม่ได้ และหากใช้ความพยายามมากขึ้น ก็สามารถสร้างเส้นทางการทำงานทั้งหมดขึ้นมาใหม่ได้โดยใช้ข้อมูล หน่วยความจำ...
ทางเลือกอื่นๆ
สามารถตรวจสอบลำดับการทำงานของคำสั่งทั้งหมดได้อย่างละเอียดมากขึ้น (รวมถึงคำสั่งระหว่างสาขา) โดยใช้ โปรแกรมจำลองชุดคำสั่ง (หากมีในบางแพลตฟอร์ม) ลำดับการทำงานของคำสั่งทั้งหมดจะให้ข้อมูลเพิ่มเติม เช่น ที่อยู่/ความยาว และค่าของการเปลี่ยนแปลงหน่วยความจำ
ดูเพิ่มเติม
บล็อกพื้นฐาน โปรแกรมจำลองชุดคำสั่ง แอนิเมชันโปรแกรม แคชการติดตาม