ตัวแปรไม่แสดงขณะดีบักใน Eclipse


102

ฉันใช้ Eclipse Galileo สำหรับนักพัฒนา

เมื่อฉันทำงานในโหมดดีบักตัวแปรปัจจุบันและค่าของตัวแปรจะไม่ปรากฏในหน้าต่างตัวแปร หน้าต่างยังคงว่างเปล่าเมื่อฉันก้าวผ่านรหัสหลังเบรกพอยต์

เมื่อคืนมันใช้งานได้ดังนั้นฉันจึงงง สาเหตุใดที่อาจเกิดขึ้นและเคล็ดลับในการแก้ไขปัญหา


11
เพียงปิดหน้าต่างตัวแปรนั้น และเปิดอีกครั้ง.
Gaurav

มันเกิดขึ้นกับฉันและฉันเพิ่งรีสตาร์ท Eclipse และทำงานอีกครั้ง
Michal K.

คำตอบ:


127

ฉันลงเอยด้วยการลองทำอะไรง่ายๆโดยการรีเซ็ตมุมมองการแก้ปัญหาซึ่งดูเหมือนจะได้ผล:

Window => Perspective => รีเซ็ตมุมมอง ...

ขอบคุณสำหรับความคิดเห็น


1
ฉันยังคงพบปัญหาเดียวกันนี้และการรีเซ็ตมุมมองได้ผลสำหรับฉัน ขอบคุณสำหรับการโพสต์สิ่งนี้
stephenbayer

1
อันที่จริงไม่ว่าจะเป็นขั้นตอนนี้หรือขั้นตอนเพิ่มเติมจาก @tonyeva ก็ทำ แต่มันไม่ได้ผลในทันที (เช่นในสแต็กปัจจุบัน) ดังนั้นคิดว่าปัญหาจะไม่หายไป อย่างไรก็ตามเมื่อดีบักเกอร์หยุดที่ตำแหน่งอื่นตัวแปรจะเริ่มปรากฏขึ้น
haridsv

1
บางครั้งคุณต้องคลิกที่เธรดอีกครั้งเพื่อรับบานหน้าต่างตัวแปรเพื่ออัปเดต ในบานหน้าต่างดีบักให้ค้นหาเธรดที่มี (Suspended) อยู่ข้างๆขยายออกแล้วคลิกกรอบสแต็กด้านบน
Stephen Kidson

ขอบคุณ! มันช่วยแก้ปัญหาของฉันเกี่ยวกับค่า vars! ฉันใช้ Eclipse NEON
user1697575

1
ทำงานกับ Neon คำตอบที่ดี!
แลก


18

ปัญหาของฉันคือฉันมองไม่เห็นชื่อตัวแปร แต่เป็นเพียงค่า หลังจากลองใช้สักพักฉันก็ได้วิธีแก้ปัญหา: คลิกที่ลูกศรลง (ในแท็บตัวแปร degub) -> เลย์เอาต์ -> แสดงคอลัมน์

มันเป็นเคล็ดลับ!


1
thakns มันช่วยฉันด้วยเช่นกันกับคราสดาวอังคาร ลูกศรลงอยู่ที่มุมขวาบนของแถบแท็บตัวแปร
tworec

สิ่งนี้ยังช่วยฉันใน Eclipse Mars แม้ว่าการรีสตาร์ทและการลบมุมมองจะไม่ช่วยเลยก็ตาม
Dave

14

การรีเซ็ตมุมมองนั้นไม่เพียงพอสำหรับฉันฉันต้องลบแท็บ "ตัวแปร" ก่อนแล้วจึงรีเซ็ตมุมมอง (ซึ่งทำให้แท็บตัวแปรกลับมาอยู่ในสถานะใช้งานได้) อีกสิ่งหนึ่งที่ไม่ได้กล่าวถึงข้างต้นซึ่งอาจช่วยผู้อื่น - เมื่อแท็บตัวแปรไม่ทำงานชื่อแท็บจะเป็นตัวเอียง (อะไรก็ตามที่มีความหมาย) เมื่อมันทำงานมันจะกลับไปเป็นแบบอักษรปกติ


5

ฉันรีสตาร์ท Eclipse และทำงานอีกครั้ง


ฉันด้วย. การปิดและเปิดหน้าต่าง "ตัวแปร" ใหม่ไม่ได้ผล แต่การออกจาก Eclipse และการรีสตาร์ททำได้
Mark Madej

ฉันต้องปิดโปรเจ็กต์รีสตาร์ทคราสเปิดโปรเจ็กต์ใหม่จากนั้นหน้าต่างตัวแปรก็เริ่มทำงานอีกครั้ง แปลกสุด ๆ .
สูงสุด


3

ลองคลิกขวาที่ตัวแปรแล้วเลือกตรวจสอบจากนั้นจะปรากฏขึ้นในหน้าต่างป๊อปอัป


สิ่งนี้ใช้ได้กับฉัน (ใน Neon) และง่ายกว่าและก่อกวนน้อยกว่าการรีเซ็ตมุมมอง
Paul 'Sparrow Hawk' Biron

2

ฉันพบว่าฉันจำเป็นต้องลบการประกาศแบบคงที่ถ้าฉันต้องการดูตัวแปร แต่มันใช้ได้ดีกว่า ...

แก้ไข / ดูตัวแปรคงที่ในขณะที่ดีบักใน Eclipse


1
นี่เป็นคำตอบที่ง่ายที่สุด: กดลูกศรแบบเลื่อนลงที่ด้านขวาสุดของ "ตัวแปรเบรกพอยต์หน้าต่างนิพจน์ -> Java -> แสดงตัวแปรคงที่
djm

2

สิ่งที่ใช้ได้ผลสำหรับฉันมีดังต่อไปนี้: ฉันมีมุมมองตัวแปรว่างสำหรับกรอบสแต็กด้านบน ฉันเลือกสแต็กเฟรมที่ต่ำกว่าจากนั้นเลือกเฟรมบนสุดใหม่และมุมมองตัวแปรก็รีเฟรชตัวเอง หมายเหตุ: ฉันใช้ Eclipse Mars ดังนั้นข้อผิดพลาดนี้ดูเหมือนจะกลับมาในเวอร์ชันนี้ (หรืออาจเป็นข้อผิดพลาดอื่นที่มีอาการเดียวกัน?)


1

ในกรณีของฉันตัวแปรไม่ปรากฏขึ้นเนื่องจากในการตั้งค่าของดีบักเกอร์ (ในกรณีของฉัน xdebug) ฉันเปลี่ยนลูกสูงสุด / ข้อมูลสูงสุด / ความลึกอาร์เรย์สูงสุดเป็นค่าใหญ่ ... ฉันรีเซ็ตการกำหนดค่าและใช้งานได้


1

หากคุณสามารถข้ามจุดพักได้คุณสามารถรีเซ็ตมุมมองได้

ในเวอร์ชัน Eclipse: Luna Service Release 2 (4.4.2) รหัสบิวด์: 20150219-0600 ฉันสังเกตเห็นว่าไม่เพียง แต่มุมมองตัวแปรว่างเปล่า แต่ยังมีปุ่มสำหรับนำทางการดำเนินการด้วย (ปุ่มฟังก์ชัน F5, F6, F8) ถูกปิดใช้งาน ในกรณีนี้ให้ไปที่ Debug View คลิกขวาไปที่แถวที่มีสัญลักษณ์หยุดชั่วคราวสีเหลืองแล้วเลือกตัวเลือกเช่น "Resume" ในเบรกพอยต์ถัดไปมุมมองตัวแปรจะถูกเติมเต็มโดยอัตโนมัติและปุ่มการนำทางการดำเนินการจะเปิดใช้งาน อธิบายไม่ได้ว่าทำไม


1

นอกจากนี้: กระบวนการของคุณต้องถูกระงับเพื่อให้ Eclipse แสดงตัวแปร หากกำลังทำงานอยู่ Eclipse จะไม่แสดงตัวแปรใด ๆ

ในการระงับเธรดเลือกเธรดในมุมมอง "ดีบัก" และกด "ระงับ"


1

ไม่พบวิธีแก้ไขหลังจากลองทำตามคำตอบข้างต้น - บางทีนี่อาจจะเฉพาะเจาะจงสำหรับกรณีของฉัน - วิธีแก้ปัญหาคือเพื่อให้แน่ใจว่าตัวเลือก "ข้ามจุดพักทั้งหมด" ไม่ได้เปิดใช้งานใน Eclipse Run -> ข้ามจุดพักทั้งหมด (ctl-alt-B) (สลับ)


0

ฉันพบปัญหานี้เนื่องจาก eclipse คิดว่าโค้ดที่กำลังดำเนินการนั้นถูกแสดงความคิดเห็น มี #ifndef wrapper และเงื่อนไขประเมินว่าเป็นเท็จในส่วนหนึ่งของโปรเจ็กต์ น่าเสียดายที่ CDT ไม่ฉลาดพอ (Helios หรือ Keppler) ที่จะตระหนักว่ามันไม่ได้ผิดเสมอไปและเมื่อก้าวผ่านส่วนนั้นของโค้ดหน้าต่างตัวแปรจะไม่ทำงาน ฉันยังตรวจสอบค่าตัวแปรแต่ละค่าได้



0

ฉันใช้รูปแบบของ Fender ข้างต้น แต่เลือกที่จะ "ดู" ตัวแปร เมื่ออยู่ในแท็บ Expressions ฉันเพิ่งย้ายไปที่แท็บ Variables และ Voila ซึ่งเป็นตัวแปรในธุรกิจ


สิ่งนี้ไม่ได้ให้คำตอบสำหรับคำถาม หากต้องการวิจารณ์หรือขอคำชี้แจงจากผู้เขียนให้แสดงความคิดเห็นไว้ด้านล่างโพสต์ของพวกเขาคุณสามารถแสดงความคิดเห็นในโพสต์ของคุณเองได้ตลอดเวลาและเมื่อคุณมีชื่อเสียงเพียงพอแล้วคุณจะสามารถแสดงความคิดเห็นในโพสต์
ลัล

คำถามเดิมคือ: สาเหตุใดที่อาจเกิดขึ้น? คำตอบอื่น ๆ รวมถึงคำตอบที่ได้รับการยอมรับไม่ได้ให้คำตอบสำหรับคำถามเช่นกัน แต่จะอธิบายวิธีแก้ไขปัญหา คำตอบของฉันเหมือนกัน: นี่คือสิ่งที่ใช้ได้กับระบบของฉัน แต่ฉันแน่ใจว่าคุณแค่พยายามช่วยฉัน ขอบคุณ!
capacitor24

ขอบคุณสำหรับการแบนลาย คุณเป็นนักแสดงที่ดีงามคนหนึ่ง
capacitor24

0

ไม่มีวิธีแก้ปัญหาใดที่ใช้ได้ผลสำหรับฉัน สิ่งที่แก้ปัญหาของฉันได้คือใต้ลูกศรแบบเลื่อนลงในหน้าต่างตัวแปร ในตัวเลือก Layout ฉันต้องเลือก "Variables View Only" จากนั้นฉันจะเห็นค่าของตัวแปรอีกครั้ง

ปัญหานี้ก็ปรากฏขึ้นทันที ช่วงเวลาหนึ่งที่ดีบักกำลังทำงานและถัดไปไม่เป็นเช่นนั้น


0

ฉันก็มีปัญหานี้เช่นกัน: EclipseNeon + Tomcat8 ไม่แสดงตัวแปรทั้งหมดเมื่ออยู่ในโหมดดีบัก ฉันได้ลองคำแนะนำข้างต้นแล้วไม่ประสบความสำเร็จ จากนั้นฉันได้ทำการดีบักโครงการเว็บเดียวกันกับ NetBeans8 + GlassFish4 และตัวแปรทั้งหมดจะแสดงรายการด้วยค่า จากนั้นฉันได้ทำการดีบักโปรเจ็กต์เว็บเดียวกันกับ NetBeans8 + Tomcat8 และไม่ใช่ตัวแปรทั้งหมดที่อยู่ในรายการ จากนั้นฉันได้ติดตั้ง GlassFish4 สำหรับ EclipseNeon และการดีบักโปรเจ็กต์เว็บเดียวกันตัวแปรทั้งหมดจะแสดงรายการด้วยค่า ดังนั้นปัญหาอยู่ใน Tomcat8 หมายเหตุ: เรียกใช้ Eclipse ในฐานะผู้ดูแลระบบเพื่อติดตั้ง GlassFish4; ด้วย NetBeans นั้นง่ายต่อการติดตั้งเซิร์ฟเวอร์อื่น ๆ



0

การรีเซ็ตมุมมองและการเปิด Eclipse ใหม่ไม่ได้ช่วยฉัน แต่สิ่งนี้ใช้ได้ผลสำหรับฉัน:

คลิกที่ปุ่มลูกศรลงในหน้าต่างตัวแปร -> เค้าโครง -> เลือกคอลัมน์ -> ตรวจสอบคอลัมน์ใดก็ได้ที่คุณต้องการ

แม้ว่าฉันจะมีการตรวจสอบทั้ง 'name' และ 'value' แล้ว แต่ฉันก็ไม่ได้เลือกและเลือกอีกครั้งคลิก ' ตกลง ' แล้วคอลัมน์ก็ปรากฏขึ้น


0

ในกรณีของฉันฉันคิดว่าสาเหตุที่เป็นไปได้นั้นVariables Viewเริ่มต้นไม่ถูกต้อง ตัวแปรดู init ว่างเปล่า ทางเลือกคือป้อนเบรกพอยต์อื่นก่อนโค้ดด้านขวาจำเป็นต้องเปลี่ยนตัวแปรหลังจากป้อนเบรกพอยต์ที่สอง (ด้านบนกล่าวถึง) เพิ่มคราสจะรีเฟรชมุมมองและทุกสิ่งควรเป็นปกติอีกครั้ง


0

เป็นไปได้ว่าคอมไพเลอร์ Java ของคุณถูกกำหนดค่าไม่ให้เก็บรักษาข้อมูลตัวแปร คลิกขวาที่โครงการใน Explorer โครงการแล้วเลือกProperties> Java Compiler> เพิ่มคุณลักษณะตัวแปรคลาสไฟล์ที่สร้างขึ้น (ใช้ดีบัก) หากไม่มีการตั้งค่าตัวเลือกนี้คุณจะเห็นเฉพาะฟิลด์ในมุมมองตัวแปรไม่ใช่ตัวแปรโลคัล


0

เช่นเดียวกับซอฟต์แวร์ที่ไม่ดีทุกตัวการรักษาพฤติกรรมที่ไม่ถูกต้องนี้ไม่มีอยู่จริง สิ่งที่ดีสำหรับคนหนึ่งไม่ได้ผลสำหรับคนอื่น

ฉันปล่อยให้ดีบักเกอร์หยุดที่จุดเบรกหนึ่งครั้งจากนั้นอีกครั้งที่สองและในครั้งที่สามสัตว์ร้ายได้แสดงมุมมองตัวแปรพร้อมข้อมูลทั้งหมดในนั้น


0

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

ดับเบิลคลิกที่แท็บ Expressions (แท็บจริงที่มีข้อความไม่ใช่ "แถบหน้าต่าง") สิ่งนี้จะเพิ่มประสิทธิภาพสูงสุด ทำซ้ำเพื่อกู้คืนเป็นขนาด / ตำแหน่งก่อนหน้า ควรรีเซ็ตทุกอย่างยกเว้นนิพจน์ ทำซ้ำสำหรับแท็บตัวแปรและจะรีเซ็ตนิพจน์

สิ่งนี้ใช้ได้กับฉันในWindows 10 ที่มี Eclipse:
เวอร์ชัน : 2018-09 (4.9.0)
รหัสบิวด์ : 20180917-1800
Java : jdk1.8.0_171


0

ส่วนใหญ่มักจะที่คุณจะได้นำเข้าโครงการคราสหลายและคุณได้เปลี่ยนระหว่างGit สาขา จากนั้นคุณสร้างและนำเข้าโครงการที่ไม่ถูกต้องซึ่งคาดว่าดีบักเกอร์จะไม่มา!

หากการรีเซ็ต eclipse Perspectiveไม่ทำงาน จากนั้นทำสิ่งต่อไปนี้:

  1. ลบโปรเจ็กต์ eclipse จากดิสก์

  2. ล้างและสร้างโปรเจ็กต์ eclipse ( ในกรณีของฉันฉันใช้เครื่องมือ ANT )
    หมายเหตุ:ตรวจสอบว่าคุณกำลังสร้างโครงการที่คาดว่าดีบักเกอร์จะมาหรือไม่ ชื่อโปรเจ็กต์ที่ถูกต้องที่จะสร้างสามารถพบได้โดยการวางเมาส์เหนือไฟล์ที่ตั้งค่าจุดดีบัก

  3. อิมพอร์ตโปรเจ็กต์ eclipse นั้นอีกครั้ง

  4. นอกจากนี้ตรวจสอบว่ามีการเลือก JDK ที่ถูกต้องที่Preferences -> Installed JREs หรือไม่


-1

สำหรับฉันวิธีแก้ปัญหาคือกำหนดค่า xdebug ให้ถูกต้อง ฉันเพิ่มโค้ดบรรทัดนี้ใน php.ini:

zend_extension = "C: \ xampp \ php \ ext \ php_xdebug.dll"

xdebug.remote_enable = 1

xdebug.show_local_vars = 1

ส่วนสำคัญที่ฉันขาดหายไป: xdebug.remote_enable = 1


ไม่มีอะไรเกี่ยวข้องกับ Eclipse และ java คุณแน่ใจหรือไม่ว่าคุณกำลังตอบคำถามที่คุณต้องการจะตอบ
Vasily Liaskovsky

-1

หากคุณกำลังมองหา "มุมมองสดของวัตถุที่คุณกำลังใช้งานอยู่" เมื่อคุณวางเมาส์เหนือสิ่งที่คุณเห็นคือชื่อให้แน่ใจว่าคุณได้กำหนดจุดพักบนวิธีที่คุณกำลังทดสอบ มิฉะนั้นเมื่อคุณวางเมาส์เหนือคุณจะได้รับเฉพาะชื่อวิธีการ

อย่างไรก็ตามฉันหวังว่านี่จะช่วยใครบางคนได้ ฉันลองทำตามขั้นตอนข้างต้นแล้วซึ่งยอดเยี่ยมมาก! แต่ฉันยังไม่สามารถดูวัตถุที่ฉันใช้งานสดได้ มันอาจจะเป็นความผิดพลาดมือใหม่

ขอให้โชคดี!

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