Saya ingin memaksa debugger Chrome untuk memecahkan baris melalui kode , atau menggunakan semacam tag komentar seperti sesuatu seperti console.break()
.
Saya ingin memaksa debugger Chrome untuk memecahkan baris melalui kode , atau menggunakan semacam tag komentar seperti sesuatu seperti console.break()
.
Jawaban:
Anda dapat menggunakan debugger;
dalam kode Anda. Jika konsol pengembang terbuka, eksekusi akan rusak. Ia bekerja di pembakar juga.
setTimeout(function(){debugger;}, 3000);
debugger;
didukung di semua browser utama. Untuk informasi lebih lanjut: w3schools.com/jsref/jsref_debugger.asp
Siapkan pendengar klik tombol dan panggil debugger;
Contoh
$("#myBtn").click(function() {
debugger;
});
Demo
Sumber daya tentang debugging dalam JavaScript
Anda juga dapat menggunakan debug(function)
, untuk memutuskan kapan function
dipanggil.
Seperti yang telah dikatakan orang lain, debugger;
adalah jalan yang harus ditempuh. Saya menulis sebuah skrip kecil yang dapat Anda gunakan dari baris perintah di browser untuk mengatur dan menghapus breakpoint tepat sebelum pemanggilan fungsi:
http://andrijac.github.io/blog/2014/01/31/javascript-breakpoint/
Pada tab "Skrip", buka di mana kode Anda. Di sebelah kiri nomor baris, klik. Ini akan menetapkan breakpoint.
Tangkapan layar:
Anda kemudian dapat melacak breakpoint Anda di tab kanan (seperti yang ditunjukkan pada tangkapan layar).
debugger
adalah kata kunci yang disediakan oleh EcmaScript dan diberikan semantik opsional sejak ES5
Sebagai hasilnya, ia dapat digunakan tidak hanya di Chrome, tetapi juga Firefox dan Node.js vianode debug myscript.js
.
The standar mengatakan :
Sintaksis
DebuggerStatement : debugger ;
Semantik
Mengevaluasi produksi DebuggerStatement dapat memungkinkan implementasi menyebabkan breakpoint ketika dijalankan di bawah debugger. Jika debugger tidak ada atau aktif, pernyataan ini tidak memiliki efek yang dapat diamati.
DebuggerStatement produksi: debugger; dievaluasi sebagai berikut:
- Jika fasilitas debugging yang ditentukan implementasi tersedia dan diaktifkan, maka
- Lakukan tindakan debugging yang ditentukan implementasi.
- Biarkan hasilnya menjadi nilai Penyelesaian yang ditetapkan implementasi.
- Lain
- Biarkan hasilnya menjadi (normal, kosong, kosong).
- Hasil kembali.
Tidak ada perubahan dalam ES6.
Itu mungkin dan ada banyak alasan Anda mungkin ingin melakukan ini. Misalnya debugging loop tak terbatas javascript dekat dengan awal pemuatan halaman, yang menghentikan toolset pengembang chrome (atau pembakar) dari memuat dengan benar.
Lihat bagian 2 dari
http://www.laurencegellert.com/2012/05/the-three-ways-of-setting-breakpoints-in-javascript/
atau cukup tambahkan baris yang berisi kata debugger ke kode Anda pada titik uji yang diperlukan.
Breakpoint: -
breakpoint akan berhenti dieksekusi, dan membiarkan Anda memeriksa nilai-nilai JavaScript.
Setelah memeriksa nilai, Anda dapat melanjutkan eksekusi kode (biasanya dengan tombol putar).
Debugger: -
Debugger; menghentikan eksekusi JavaScript, dan memanggil fungsi debugging.
Pernyataan debugger menunda eksekusi, tetapi tidak menutup file atau menghapus variabel apa pun.
Example:-
function checkBuggyStuff() {
debugger; // do buggy stuff to examine.
};
Anda bisa mengatur debug(functionName)
fungsi debug juga.
https://developers.google.com/web/tools/chrome-devtools/javascript/breakpoints#function
Ada banyak cara untuk men-debug kode JavaScript. Berikut dua pendekatan yang banyak digunakan untuk men-debug JavaScript melalui kode
Menggunakan console.log()
untuk mencetak nilai-nilai di konsol browser. (Ini akan membantu Anda memahami nilai-nilai pada titik-titik tertentu dari kode Anda)
Kata kunci debugger. Tambahkan debugger;
ke lokasi yang ingin Anda debug, dan buka konsol pengembang browser dan navigasikan ke tab sumber.
Untuk lebih banyak alat dan cara di mana Anda men-debug Kode JavaScript, diberikan dalam tautan ini oleh W3School .
Saya tidak akan merekomendasikan debugger;
jika Anda hanya ingin membunuh dan menghentikan kode javascript, karena debugger;
hanya akan membekukan sementara kode javascript Anda dan tidak menghentikannya secara permanen.
Jika Anda ingin benar-benar membunuh dan menghentikan kode javascript atas perintah Anda gunakan yang berikut ini:
throw new Error("This error message appears because I placed it");
debugger;
atau hanya menggunakan breakpoint biasa di toolbar pengembang?