ฉันใช้โปรแกรมดีบักเกอร์ Java ภายใน Intellij 8 และสังเกตเห็นปุ่มที่มีข้อความว่า "drop frame" มีใครรู้บ้างไหมว่าสิ่งนี้ทำหน้าที่อะไร สิ่งนี้จะใช้อย่างไร / มีประโยชน์อย่างไร?
ฉันใช้โปรแกรมดีบักเกอร์ Java ภายใน Intellij 8 และสังเกตเห็นปุ่มที่มีข้อความว่า "drop frame" มีใครรู้บ้างไหมว่าสิ่งนี้ทำหน้าที่อะไร สิ่งนี้จะใช้อย่างไร / มีประโยชน์อย่างไร?
คำตอบ:
สามารถดูกลุ่มการโทรของแอปพลิเคชันของคุณได้ในดีบักเกอร์ การใช้ฟังก์ชัน "Drop Frame" คุณสามารถ "ถอยกลับ" ไปยังสแต็กเฟรมก่อนหน้าได้ในแง่หนึ่งย้อนเวลากลับไป การป้อนฟังก์ชันใหม่จะเป็นประโยชน์หากคุณพลาดจุดสำคัญที่ต้องการดูอีกครั้ง
ตามที่ชื่อ "Stack Frame" แนะนำการเปลี่ยนแปลงที่เกิดขึ้นกับสถานะส่วนกลางแล้ว (เช่นตัวแปรคงที่การเปลี่ยนแปลงค่าฟิลด์และสิ่งที่คล้ายกัน) จะไม่ถูกยกเลิกโดยจะรีเซ็ตเฉพาะตัวแปรภายในเครื่องเท่านั้น ซึ่งอาจนำไปสู่เส้นทางการดำเนินการที่แตกต่างจากเส้นทางเดิมที่นำไปสู่จุดพัก คุณต้องตระหนักถึงสิ่งนี้ - ฉันมักคิดว่าเป็นคุณสมบัติที่มีประโยชน์ในการสำรวจเส้นทางการดำเนินการต่างๆโดยไม่ต้องรีสตาร์ทแอปพลิเคชันหรือกระบวนการที่ยาวเป็นพิเศษซึ่งนำไปสู่สแต็กปัจจุบัน เมื่อรวมกับการเปลี่ยนแปลงค่าตัวแปรที่มีให้ผ่านดีบักเกอร์คุณสามารถทำสิ่งที่น่าสนใจได้ทุกประเภท
โปรดทราบว่าแน่นอนว่าผลข้างเคียงใด ๆ ที่อาจเกิดขึ้นเช่นการรับส่งข้อมูลเครือข่ายการปรับแต่งไฟล์เอาต์พุตคอนโซล ฯลฯ - ไม่สามารถกรอกลับได้
การทิ้งเฟรมจากสแต็กโดยใช้ดีบักเกอร์ช่วยให้คุณ "ย้อนกลับ" การดำเนินการแอปพลิเคชันของคุณเพื่อไปยังสถานะก่อนหน้าได้ ตัวแปรภายนอกสแต็กเฟรมจะไม่ถูกเปลี่ยนกลับ
ตามบันทึกด้านข้างฉันเชื่อว่าคุณลักษณะนี้เรียกว่า "Drop to Frame" ใน Eclipse แต่มีจุดประสงค์เดียวกัน