Rumah  >  Artikel  >  Java  >  Nyahpepijat tanpa Titik Putus

Nyahpepijat tanpa Titik Putus

王林
王林asal
2024-08-14 10:38:40830semak imbas

Baca dalam bahasa lain: English Español 中文

Dalam senario penyahpepijatan biasa, anda akan menetapkan titik putus untuk memberitahu penyahpepijat masa untuk menggantung program anda. Titik putus biasanya sepadan dengan detik yang menandakan titik permulaan untuk siasatan lanjut.

Memutuskan tempat untuk menetapkan titik putus boleh mencabar. Mungkin terdapat situasi di mana baris yang tepat tidak jelas, atau anda mungkin memilih untuk menjeda atur cara berdasarkan masa berbanding kod tertentu.

Dalam artikel ini, kita akan melihat kefungsian Program Jeda IntelliJ IDEA – teknik penyahpepijatan yang kurang dikenali yang boleh menjadi sangat berkuasa dalam sesetengah senario, termasuk yang diterangkan di atas. Kami akan membincangkan kes dan had penggunaannya, serta menemui rahsia langkah demi langkah.

Apa itu Jeda?

Program Jeda ialah ciri penyahpepijat IntelliJ IDEA yang membolehkan anda menjeda aplikasi anda secara sewenang-wenangnya pada bila-bila masa. Tambahan pula, anda tidak perlu mengetahui kod aplikasi. Malah, anda boleh mengabaikannya!

Depurar sem Pontos de Interrupção

Untuk menjeda atur cara, klik Jeda Program dalam bar alat penyahpepijat. Kemudian program akan berhenti betul-betul di tengah-tengah apa yang anda lakukan.

Had

Pada pandangan pertama, program yang dijeda mungkin kelihatan sama seperti program yang telah digantung pada titik putus. Walau bagaimanapun, ini hanya benar pada tahap tertentu.

Depurar sem Pontos de Interrupção

Adalah tepat untuk menganggap Program Jeda sejenis tambah pembuangan benang. Anda masih boleh memeriksa kedua-dua pembolehubah dan utas seperti biasa. Walau bagaimanapun, beberapa ciri yang lebih maju, seperti Evaluate Expression, tidak akan berfungsi.

Kes guna

Terdapat banyak cara untuk menggunakan Program Jeda. Ia selalunya boleh digunakan secara bergantian dengan titik putus tradisional. Walau bagaimanapun, terdapat senario di mana menggunakan Program Jeda adalah pendekatan yang lebih sesuai. Mari kita pertimbangkan sebahagian daripadanya.

Apl tidak responsif

Jika anda mengalami pembekuan antara muka pengguna (UI), ini biasanya disebabkan oleh urutan UI disekat.

Depurar sem Pontos de Interrupção

Program Jeda mungkin berguna dalam kes ini, kerana ia membolehkan anda menjeda aplikasi semasa ia tidak bertindak balas dan memeriksa susunan panggilan urutan UI. Ini biasanya cukup untuk mendiagnosis masalah.

Fon tiada

Seperti yang dinyatakan sebelum ini, Program Jeda membenarkan anda mengabaikan kod sumber, yang mungkin tiada untuk anda. Walaupun senario ini tidak begitu biasa, apabila anda menemuinya, titik putus tidak akan membantu.

Di sinilah Program Jeda dimainkan!

Depurar sem Pontos de Interrupção

Kunci

Jika anda mengesyaki masalah penyegerakan, seperti kebuntuan atau livelock, Program Jeda boleh membantu anda mencari urutan dan kunci yang tepat yang menyebabkan masalah itu.

Depurar sem Pontos de Interrupção

Dalam kes ini, jeda atur cara dan periksa senarai urutan. Ia akan menunjukkan benang yang disekat. Apabila anda menavigasi ke titik pelaksanaan, anda juga akan melihat bahagian kritikal di mana ia dikunci. Maklumat ini boleh membantu membimbing anda ke arah penyelesaian.

Petua langkah demi langkah rahsia

Seperti yang saya nyatakan sebelum ini, Jeda Program mengehadkan akses anda kepada beberapa fungsi lanjutan penyahpepijat. Jika anda telah cuba menggunakan ciri tertentu semasa aplikasi dijeda, anda mungkin melihat mesej ralat yang mengatakan Tidak dapat menilai kaedah selepas Jeda tindakan.

Depurar sem Pontos de Interrupção

Walau bagaimanapun, terdapat jalan pintas untuk sekatan ini.

Selepas anda menjeda aplikasi, teruskan melakukan sebarang tindakan langkah demi langkah. Step Into atau Step Over akan berjaya. Setelah ini selesai, anda akan berada dalam sesi penyahpepijatan biasa, sama seperti semasa anda menggantung aplikasi menggunakan titik putus. Semua ciri lanjutan kini dibuka kuncinya!

Kesimpulan

Itu sahaja untuk hari ini! Saya harap anda mendapati petua dan petua ini berguna.

Jika anda berminat dengan lebih banyak artikel yang berkaitan dengan penyahpepijatan dan pemprofilan, lihat beberapa artikel saya yang lain:

  • Debugger.godMode() – Menggodam Aplikasi JVM dengan Debugger
  • Menyelesaikan Masalah Kelambatan Penyahpepijat
  • Menyahpepijat Aplikasi Tidak Aktif
  • Apa yang Salah dengan createDirectories()? - Panduan Profil CPU

Jika ada perkara khusus tentang penyahpepijatan dalam Java yang anda ingin saya sampaikan, jangan teragak-agak untuk menghubungi! Pendapat anda akan membantu mengutamakan dan menerbitkan kandungan yang paling menarik kepada anda.

Atas ialah kandungan terperinci Nyahpepijat tanpa Titik Putus. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn