Ketika saya membuka Alat Pengembang di Google Chrome, saya melihat semua jenis fitur seperti Profil, Garis Waktu, dan Audit, tetapi fungsionalitas dasar seperti dapat mengatur breakpoint baik dalam file js dan dalam html dan kode javascript hilang! Saya mencoba menggunakan konsol javascript, yang itu sendiri buggy - misalnya, setelah bertemu dengan kesalahan JS, saya tidak bisa keluar darinya kecuali saya me-refresh seluruh halaman. Adakah yang bisa membantu?
javascript
debugging
google-chrome
kartu as
sumber
sumber
Jawaban:
Gunakan tab sumber, Anda dapat mengatur breakpoints dalam JavaScript di sana. Di pohon direktori di bawahnya (dengan panah atas dan bawah di dalamnya), Anda dapat memilih file yang ingin Anda debug. Anda dapat keluar dari kesalahan dengan menekan resume di sisi kanan tab yang sama.
sumber
<script> your code </script>
tambahkan nama seperti:<script> your code //# sourceURL=somename.js </script>
Ini dijelaskan lebih baik dalam jawaban di bawah iniApakah Anda berbicara tentang kode di dalam
<script>
tag, atau dalam atribut tag HTML, seperti ini?Either way, yang
debugger
kata kunci seperti ini akan bekerja:NB Chrome tidak akan berhenti pada
debugger
s jika alat dev tidak terbuka.Anda juga dapat mengatur breakpoint properti dalam file dan
<script>
tag JS :sumber
Sources
bukanScripts
sekarang.Anda juga dapat memberi nama pada skrip Anda:
<script> ... (your code here) //# sourceURL=somename.js </script>
ofcourse ganti "somename" dengan beberapa nama;) dan kemudian Anda akan melihatnya di chrome debugger di "Sources> top> (no domain)> somename.js" sebagai skrip normal dan Anda akan dapat men-debug seperti skrip lain
sumber
Refresh halaman yang berisi skrip sementara alat pengembang terbuka pada tab skrip. Ini akan menambahkan entri (program) dalam daftar file yang menunjukkan html halaman termasuk skrip. Dari sini Anda dapat menambahkan breakpoints.
sumber
Trik sederhana lain yang intuitif untuk men-debug terutama skrip di dalam html yang dikembalikan oleh ajax, adalah dengan menempatkan sementara console.log ("test") di dalam skrip.
Setelah Anda memecat acara, buka tab konsol di dalam alat pengembang. Anda akan melihat tautan file sumber ditampilkan di sisi kanan pernyataan cetak debug "test". cukup klik pada sumbernya (seperti VM4xxx) dan sekarang Anda dapat mengatur break point.
PS: selain itu, Anda dapat mempertimbangkan untuk menempatkan pernyataan "debugger" jika Anda menggunakan chrome, seperti apa yang disarankan oleh @Matt Ball
sumber
Situasi saya dan apa yang saya lakukan untuk memperbaikinya:
Saya memiliki file javascript yang disertakan pada halaman HTML sebagai berikut:
Nama Halaman: test.html
Sekarang memasukkan Javascript Debugger di Chrome, saya klik Tab Script, dan drop down daftar seperti yang ditunjukkan di atas. Saya dapat dengan jelas melihat skrip / common.js namun saya TIDAK bisa melihat halaman html test.html saat ini di drop down, oleh karena itu saya tidak bisa men-debug javascript tertanam:
Itu membingungkan. Namun, ketika saya menghapus jenis usang = "teks / javascript" dari skrip tertanam:
..dan menyegarkan / memuat kembali halaman, voila, itu muncul di daftar drop-down, dan semuanya baik-baik saja.
Saya harap ini bermanfaat bagi siapa saja yang mengalami masalah debugging javascript tertanam pada halaman html.
sumber
type
adalah atribut yang diperlukan. Di HTML5, itu opsional.<div>
mencegah saya melihat kode di debuggerMenambahkan
debugger;
di bagian atas pada skrip saya berfungsi untuk saya.sumber
Saya juga mengalami masalah yang sama, bagaimana men-debug JavaScript yang ada di dalam
<script>
tag. Tapi kemudian saya menemukannya di bawah tab Sumber, yang disebut "(indeks)", dengan tanda kurung. Klik nomor baris untuk mengatur breakpoints.Ini adalah Chrome 71.
sumber
Jika Anda tidak dapat melihat tab "Scripts", pastikan Anda meluncurkan Chrome dengan argumen yang benar. Saya mengalami masalah ini ketika saya meluncurkan Chrome untuk debugging JavaScript sisi-server dengan argumen
--remote-shell-port=9222
. Saya tidak punya masalah jika saya meluncurkan Chrome tanpa argumen.sumber
Saya menemukan masalah ini, namun fungsi inline saya tidak memiliki pandangan angularJS. Karenanya pada beban saya tidak dapat mengakses skrip inline untuk menambahkan debug, karena hanya index.html yang tersedia di tab sumber debugger.
Ini berarti bahwa ketika saya membuka tampilan tertentu dengan inline saya (tidak punya pilihan tentang ini) itu tidak dapat diakses.
Satu-satunya cara saya dapat menekannya adalah dengan menempatkan fungsi yang salah atau memanggil di dalam fungsi JS inline.
Solusi saya termasuk:
Ini berarti ketika saya mengklik tombol saya, saya kemudian diminta dalam konsol chrome.
Yang penting di sini adalah sumbernya:
VM5658:6
mengklik ini memungkinkan saya untuk melangkah melalui inline dan menahan break point di sana untuk nanti ..Cara yang sangat berbelit-belit untuk mencapainya .. Tapi itu berhasil dan mungkin terbukti berguna ketika berhadapan dengan aplikasi satu halaman yang secara dinamis memuat pandangan Anda.
Tidak
VM[n]
memiliki nilai yang signifikan, dann
pada setara dengan ID skrip. Info ini dapat ditemukan di sini: Chrome "[VM]"sumber
Menggunakan Visual Studio (2012) Saya memiliki masalah yang sama dan beralih ke IIS Express memecahkan masalah!
The
script
tagtype
atribut tidak faktor ke dalamnya.Untuk beberapa alasan Server Pengembangan Visual Studio tidak memberikan semua yang dibutuhkan Chrome untuk mengaktifkan breakpoints.
sumber
Saya tahu Q bukan tentang
Firefox
tetapi saya tidak ingin menambahkan salinan pertanyaan ini untuk hanya menjawabnya sendiri.Untuk Firefox Anda perlu menambahkan
debugger;
untuk dapat melakukan apa yang disarankan @ matt-ball untukscript
tag.Jadi pada kode Anda, Anda menambahkan di
debugger
atas garis yang ingin Anda debug dan kemudian Anda dapat menambahkan breakpoints. Jika Anda hanya mengatur breakpoint pada browser, itu tidak akan berhenti.sumber
Ini adalah perpanjangan dari jawaban Rian Schmits di atas. Dalam kasus saya, saya memiliki kode HTML yang tertanam dalam kode JavaScript saya dan saya tidak bisa melihat apa pun selain kode HTML. Mungkin Chrome Debugging telah berubah selama bertahun-tahun tetapi mengklik kanan tab Sumber / Sumber memberi saya Tambahkan folder ke ruang kerja . Saya dapat menambahkan seluruh proyek saya, yang memberi saya akses ke semua JavaScripts saya. Anda dapat menemukan lebih detail di tautan ini . Saya harap ini membantu seseorang.
sumber