Visual Studio ปฏิเสธที่จะลืมจุดพักหรือไม่


216

Visual Studio จดจำจุดสั่งหยุดจากเซสชันการดีบักก่อนหน้านี้ซึ่งยอดเยี่ยมมาก

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

นี่เป็นเรื่องที่น่ารำคาญมาก - มีการตั้งค่าที่จะไม่ทำเช่นนี้หรือไม่?


24
หากคุณลบออกเมื่อโปรแกรมดีบั๊กหยุดทำงานพวกเขาก็จะหายดี
dlev

2
รายงานบั๊กปิด "โดยการออกแบบ" ย้อนกลับไปในปี 2009; คำอธิบายจาก MS - connect.microsoft.com/VisualStudio/feedback/details/476744/…
zomf

1
หากคุณมีเบต้าใหม่ของ VS 2015 คุณสามารถส่งแบบขมวดคิ้วได้ บางทีพวกเขาจะฟังถ้าเราทุกคนทำ
jsuddsjr

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

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

คำตอบ:


131

ไปที่Debugเมนูจากนั้นDelete All Breakpoints Ctrl+Shift+F9


39
ลองนี้เลือกรายการแถบเครื่องมือเบรกพอยต์จากแถบเครื่องมือดีบั๊ก สิ่งนี้จะเปิดหน้าต่างเบรกพอยต์ จากหน้าต่างนี้คุณสามารถดูจุดพักทั้งหมดในแอปพลิเคชัน ที่นี่คุณเลือกและล้างจุดพักโดยคลิกที่ปุ่มลบจากแถบเครื่องมือในบานหน้าต่างจุดพัก
แยม

วิเศษ - ปุ่มลัดใช้งานได้ในฉบับด่วน (ซึ่งไม่มีรายการในเมนู)
fun_vit

20
ไม่ดีเมื่อฉันต้องการลบเพียงเบรกพอยต์เดียวไม่ใช่ทั้งหมดของพวกเขา
andrew.fox

1
สิ่งนี้ไม่ได้แก้ไขปัญหาตลอดเวลา ฉันเคยใช้แล้วและเบรกพอยต์ก็กลับมา .. มันอยู่ในสถานที่ที่น่ารำคาญที่ฉันไม่สามารถผ่านมันไปได้จนกว่าฉันจะกดต่อไป 50 ครั้ง
Dinerdo

1
@Dinerdo แทนที่จะทำการลบคุณสามารถลองปิดการใช้งานหรือเพิ่มเงื่อนไขที่ไม่เป็นความจริง
Tom Blodget

15

ปัญหาคือจุดพักลูกของจุดพักของคุณยังคงอยู่ จุดพักลูกถูกสร้างขึ้น (ในบางสถานการณ์) เมื่อตั้งค่าจุดพักระหว่างเซสชันดีบัก

วิธีที่แน่นอนในการลบเบรกพอยต์ (และลูก ๆ ) คือการค้นหาด้วยตนเองในหน้าต่างเบรกพอยต์และลบออกจากที่นั่น (เลือกโหนดบนสุดของรายการกดDelete)

หากคุณใช้ Visual Studio รุ่น (เก่า) ที่สนับสนุนแมโคร VBScript คุณสามารถเรียกใช้แมโครที่โพสต์ได้ที่นี่ (ระหว่างเซสชันการดีบัก) เพื่อลบจุดพักย่อย สิ่งนี้จะทำให้การลบเบรกพอยต์โดยการคลิกสัญลักษณ์ที่มีประสิทธิภาพและคาดการณ์ได้ค่อนข้างมาก แต่มันก็ยังคงเป็นปัญหาและน่าอึดอัดใจ


12

ผมดิ้นรนเพื่อหาสิ่งที่ 'จุดพัก Window'.So นี่เป็นวิธีที่รวดเร็วในการเปิดทีctrl+ alt+B

ป้อนคำอธิบายรูปภาพที่นี่


หรือคุณสามารถไปที่ 'Debug-> Windows-> เบรกพอยต์' ด้วยตนเองเพื่อเปิด

ป้อนคำอธิบายรูปภาพที่นี่


หรือคุณสามารถกดctrl+ shift+ F9เพื่อลบเบรกพอยต์ทั้งหมดในครั้งเดียว!


9

มีคำตอบบางส่วนอยู่ที่นี่ แต่ในความเห็นของฉันการกระทำที่เสนอนั้นไม่น่าสนใจที่จะใช้ระหว่างการดีบัก (ฉันไม่ต้องการเสียสมาธิ)

โฟลว์ของฉันพร้อมกับเบรกพอยต์เหนียวระหว่างเบรกพอยต์มีดังนี้:

ระหว่างการดีบักให้ปิดใช้งานจุดพักแทนการลบออก

วิธีที่เป็นไปได้ของการปิดใช้งานเบรกพอยต์:

  • โฮเวอร์ด้วยเคอร์เซอร์และคลิกที่ไอคอนสองรอบ
  • หรือใช้เมนูบริบทกับมัน
  • หรือแป้นพิมพ์ลัด CTRL + F9 (ไม่ใช่ Shift + CTRL + F9 เนื่องจากเป็นการล้างจุดพักทั้งหมด)

ต่อมาในระหว่างการพัฒนาฉันลบเบรกพอยต์ที่ปิดใช้งานเมื่อฉันเห็น

PS นอกจากนี้ยังเป็นแนวปฏิบัติที่ดีในการลบจุดพักทั้งหมดทุกครั้ง


1
หากปิดการใช้งานทำงานฉันไม่เห็นสาเหตุที่ทำให้ "จุดพักที่ผูกไว้" กับ "จุดพักที่รอดำเนินการ" ตามที่อธิบายไว้ในบทความด้านบน
ItsAllABadJoke

3
  • เริ่มเซสชันการดีบักของคุณด้วยจำนวนไฟล์ที่น้อยที่สุดที่เปิดในขณะที่คุณดีบักจุดพักที่ไม่ต้องการจะปรากฏขึ้นและไฟล์ที่มีจะเปิดขึ้นในแท็บใหม่
  • ยุติเซสชันการดีบักและเปิดหน้าต่างเบรกพอยต์ (จากแถบเครื่องมือดีบั๊กด้วยเหตุผลบางอย่างที่ไม่ได้อยู่ในเมนูมุมมอง)
  • สำหรับแต่ละไฟล์ให้ป้อนชื่อไฟล์ในพื้นที่ค้นหาของหน้าต่างเบรกพอยต์และกด Enter เพื่อกรองเบรกพอยต์ตามไฟล์
  • จากนั้นคุณสามารถคลิกที่จุดพักแต่ละจุดในหน้าต่างเพื่อดูว่าพวกเขาอยู่ที่ไหนในรหัสและลบหากคุณต้องการ น่าเบื่อนิดหน่อย แต่นั่นเป็นวิธีที่ดีที่สุดที่ฉันพบเพื่อกำจัดจุดพักผีที่ไม่ต้องการ ... การคั่นหน้าและการจัดการจุดพัก ... ฟังก์ชันเหล่านั้นอาจได้รับการปรับปรุงครั้งล่าสุดในช่วงศตวรรษที่ผ่านมา ...

1

จุดพักส่วนใหญ่สามารถลบได้ในระหว่างการตรวจแก้จุดบกพร่องเซสชัน แต่บางจุดติดอยู่ (อาจเป็นจุดบกพร่องใน Visual Studio)

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


0

คำตอบทางเลือกที่รวดเร็วสำหรับคำถามเก่านี้ที่เพิ่งตีฉันด้วย Visual Studio 2017

ถ้าเป็นไปได้ให้ตัดและวางรหัสด้วยจุดพัก เบรกพอยต์จะหายไปเมื่อถูกตัด


0

ไปที่ debug> windows> เบรกพอยต์และค้นหาเบรกพอยต์แล้วลบจุดเหล่านั้นออกจากบานหน้าต่าง

ตามที่ได้รับคำตอบที่นี่


0

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

ทางออกที่ดีกว่าคือการรวมตัวกันและลงคะแนนเพื่อเปลี่ยนแปลงเสียงผู้ใช้ Visual Studio ดูเหมือนว่าจะมีการบันทึกสองสามครั้งดังนั้นเราควรเลือกหนึ่งคะแนน

https://visualstudio.uservoice.com/forums/121579-visual-studio-ide/suggestions/31123351-delete-disable-break-point-while-debugging-should


0

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

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