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?

dan
sumber
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

selai
sumber
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.

Pelindung satu
sumber
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!

JerryGoyal
sumber
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.

andrew.fox
sumber
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 ...
pasx
sumber
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.

Robert
sumber
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.

JH
sumber
0

Buka debug> windows> breakpoints dan temukan breakpoints dan hapus semuanya dari panel.

seperti yang dijawab di sini

Hamed Mahdizadeh
sumber
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

Ryan B
sumber
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.

Ya
sumber