Visual Studio menolak untuk melupakan breakpoints?


216

Visual Studio mengingat breakpoints dari sesi debugging sebelumnya, yang luar biasa.

Namun, ketika saya sedang debug, dan saya menghapus salah satu dari breakpoint "lama" ini dengan mengkliknya, itu hanya dihapus sementara. Apa yang saya maksud adalah saat berikutnya saya melakukan debug, breakpoint yang saya pikir telah saya hapus sudah kembali.

Ini sangat menjengkelkan - apakah ada pengaturan untuk membuatnya tidak melakukan ini?


24
Jika Anda menghapusnya setelah debugger berhenti, mereka akan hilang selamanya.
dlev

2
laporan bug ditutup "sesuai desain" pada tahun 2009; penjelasan dari MS - connect.microsoft.com/VisualStudio/feedback/details/476744/…
zomf

1
Jika Anda memiliki beta baru VS 2015, Anda dapat mengirim Frown. Mungkin mereka akan mendengarkan jika kita semua melakukannya.
jsuddsjr

yang menghubungkan URL tidak lagi berfungsi - tapi saya ingat itu adalah sesuatu tentang utas - tetapi seberapa sulit untuk menambahkan opsi klik kanan 'secara permanen menghapus breakpoint' terlepas dari apa alasannya ???
Simon_Weaver

1
Mengapa mereka tidak hanya menyediakan opsi "Hapus pending breakpoint" di menu konteks breakpoint? Itu bukan ilmu roket.
John

Jawaban:


131

pergi ke DebugmenuDelete All Breakpoints Ctrl+Shift+F9


39
Coba ini pilih item toolbar Breakpoints dari toolbar Debug. Ini memunculkan jendela Breakpoints. Dari jendela ini, Anda dapat melihat semua breakpoint dalam aplikasi. Di sini, Anda memilih dan menghapus breakpoint dengan mengklik tombol Delete dari bilah alat pada panel Breakpoints.
macet

hebat - hot key berfungsi dalam edisi ekspres (yang tidak memiliki item dalam menu).
fun_vit

20
tidak ada gunanya ketika saya ingin menghapus hanya SATU breakpoint tidak semuanya
andrew.fox

1
Ini tidak memperbaiki masalah sepanjang waktu. Saya sudah menggunakannya, dan breakpoint masih kembali .. Ini di tempat yang menjengkelkan di mana saya tidak bisa melewatinya sampai saya selesai menekan terus 50+ kali.
Dinerdo

1
@Dinerdo Alih-alih menghapusnya, Anda dapat mencoba menonaktifkannya atau menambahkan kondisi yang tidak pernah benar.
Tom Blodget

15

Masalahnya adalah bahwa breakpoint anak dari breakpoint Anda bertahan. Breakpoint anak dibuat (dalam situasi tertentu) ketika mengatur breakpoint selama sesi debug.

Cara yang pasti untuk menghapus breakpoint (dan anak-anak) adalah dengan mencarinya secara manual di jendela breakpoint, dan menghapusnya dari sana. (Pilih simpul teratas dari entri, tekan Delete.)

Jika Anda menjalankan versi Visual Studio (lama) yang mendukung makro VBScript, Anda bisa menjalankan makro yang diposting di sini (di antara sesi debug), untuk menghapus breakpoint anak. Ini akan membuat menghilangkan breakpoint dengan mengklik mesin terbang agak lebih efektif dan dapat diprediksi, tetapi terus bermasalah dan canggung.


12

Saya kesulitan menemukan 'Jendela BreakPoints'. Jadi, inilah cara cepat untuk membukanya- ctrl+ alt+B

masukkan deskripsi gambar di sini


Atau Anda dapat secara manual pergi ke 'Debug-> Windows-> Breakpoints' untuk membukanya.

masukkan deskripsi gambar di sini


Atau Anda dapat menekan ctrl+ shift+ F9untuk menghapus semua breakpoint sekaligus!


9

Ada beberapa jawaban di sini, tetapi menurut pendapat saya tindakan yang diusulkan mengganggu untuk digunakan selama debugging (saya tidak ingin kehilangan fokus saya).

Alur saya dengan breakpoint lengket selama breakpoint adalah sebagai berikut:

Selama debug, Nonaktifkan breakpoint alih-alih menghapusnya.

Kemungkinan cara menonaktifkan breakpoint:

  • arahkan kursor dan klik ikon dua siklus;
  • atau gunakan menu konteks di atasnya;
  • atau keyboard pintas CTRL + F9 (bukan Shift + CTRL + F9, karena menghapus semua breakpoint).

Kemudian, selama pengembangan, saya menghapus breakpoint yang dinonaktifkan ketika saya melihatnya.

PS. Ini juga merupakan praktik yang baik untuk menghapus semua breakpoint sesekali.


1
Jika menonaktifkan berfungsi, saya tidak melihat mengapa "breakpoint terikat" vs "breakpoint tertunda" seperti yang dijelaskan dalam artikel di atas (re: ditutup oleh desain) adalah masalah yang tidak dapat diatasi.
ItsAllABadJoke

3
  • Mulai sesi debug Anda dengan jumlah file minimal yang terbuka, saat Anda men-debug breakpoint yang tidak diinginkan akan muncul dan file yang mengandung akan terbuka di tab baru.
  • Hentikan sesi debug dan buka jendela breakpoints (dari toolbar debug, untuk beberapa alasan tidak ada dalam menu tampilan).
  • Untuk setiap file, masukkan nama file di area pencarian jendela breakpoints dan tekan enter untuk menyaring breakpoints berdasarkan file.
  • Anda kemudian dapat mengklik pada setiap breakpoint di jendela untuk melihat di mana mereka berada dalam kode dan menghapusnya jika Anda mau. Agak membosankan tapi itu cara terbaik yang saya temukan untuk menyingkirkan breakpoint hantu yang tidak diinginkan itu ... Manajemen bookmark dan breakpoints .. Fungsi-fungsi itu mungkin terakhir kali ditingkatkan selama abad terakhir ...

1

Sebagian besar breakpoint dapat dihapus selama sesi debug, tetapi beberapa macet (mungkin bug di Visual Studio).

Jika Anda ingin menghapus hanya breakpoint yang macet, kemudian gunakan "Breakpoints" windows yang ditemukan pada menu debug. Di sana Anda mungkin akan melihat bahwa breakpoint Anda ada beberapa kali untuk baris yang sama. Cukup klik kanan dan hapus.


0

Sebuah jawaban alternatif cepat untuk pertanyaan lama ini yang baru saja memukul saya dengan Visual Studio 2017.

Jika memungkinkan, cukup potong dan rekatkan kode dengan breakpoint di atasnya. Breakpoint hilang dengan potongan.



0

Saya menganggap ini cacat desain, sangat menyebalkan dan sesuatu yang harus kami jalani sejak lama. Kami sangat sering memukulnya sehingga itu hanya menjadi norma. Solusi yang diberikan sejauh ini benar-benar berhasil.

Solusi yang lebih baik adalah berkumpul dan memberikan suara untuk perubahan pada Visual Studio User Voice. Sepertinya ini telah dicatat beberapa kali, jadi kita harus memilih satu untuk memilih.

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


0

Jika Anda men-debug aplikasi web dan mengatur breakpoint dalam chrome, kode VS akan menghargai breakpoint itu dan tidak akan membiarkan Anda menghapusnya. Dengan kata lain, breakpoint efektif adalah jumlah breakpoint yang diatur dalam VS Code dan di chrome Anda. Dan ya, kadang-kadang mudah untuk lupa bahwa Anda menetapkan breakpoint di chrome dan tersesat dalam mencari cara untuk menghapusnya dari VS Code.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.