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.
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!
Untuk menjeda atur cara, klik Jeda Program dalam bar alat penyahpepijat. Kemudian program akan berhenti betul-betul di tengah-tengah apa yang anda lakukan.
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.
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.
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.
Jika anda mengalami pembekuan antara muka pengguna (UI), ini biasanya disebabkan oleh urutan UI disekat.
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.
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!
Jika anda mengesyaki masalah penyegerakan, seperti kebuntuan atau livelock, Program Jeda boleh membantu anda mencari urutan dan kunci yang tepat yang menyebabkan masalah itu.
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.
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.
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!
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:
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!