Debug kode Python Anda di Visual Studio

Visual Studio memberikan pengalaman penelusuran kesalahan yang komprehensif untuk Python. Dalam artikel ini, Anda menjelajahi cara melampirkan debugger untuk menjalankan proses dan mengevaluasi ekspresi di jendela Tonton dan Segera . Di debugger, Anda dapat memeriksa variabel lokal, menggunakan titik henti, langkah masuk/keluar/atas pernyataan, Mengatur Pernyataan Berikutnya, dan banyak lagi.

Untuk informasi penelusuran kesalahan khusus skenario, lihat artikel berikut ini:

Prasyarat

Kode debug dengan atau tanpa proyek

Jika Anda ingin mengontrol lingkungan dan argumen Python, pertama-tama buat proyek untuk kode Anda. Anda dapat membuat proyek dengan templat Dari proyek kode Python yang ada. Untuk informasi selengkapnya, lihat Membuat proyek dari file kode Python yang ada.

Namun, Anda tidak memerlukan file proyek atau solusi di Visual Studio untuk men-debug kode Python Anda. Untuk men-debug kode dalam file Python mandiri, buka file Anda di Visual Studio, dan pilih Debug>Mulai Penelusuran Kesalahan. Visual Studio meluncurkan skrip dengan lingkungan default global dan tanpa argumen. Anda kemudian memiliki dukungan penelusuran kesalahan penuh untuk kode Anda. Untuk informasi selengkapnya, lihat Lingkungan Python.

Menjelajahi penelusuran kesalahan dasar

Alur kerja penelusuran kesalahan dasar melibatkan titik henti pengaturan, menelusuri kode, memeriksa nilai, dan menangani pengecualian. Anda dapat memulai sesi penelusuran kesalahan dengan memilih Debug>Mulai Penelusuran Kesalahan atau menggunakan pintasan keyboard F5. Untuk proyek, tindakan ini meluncurkan file startup dengan lingkungan aktif proyek dan argumen baris perintah atau jalur pencarian yang ditentukan untuk Properti Proyek. Untuk mengonfigurasi properti, lihat Mengatur opsi penelusuran kesalahan proyek.

Mengatur file startup proyek

File startup untuk proyek ditampilkan dalam huruf tebal di Penjelajah Solusi. Anda dapat memilih file mana yang akan digunakan sebagai file startup.

  • Untuk menentukan file proyek sebagai file startup, klik kanan file dan pilih Atur sebagai Item Startup.

Di Visual Studio 2017 versi 15.6 dan yang lebih baru, Anda akan melihat pemberitahuan jika Anda tidak memiliki kumpulan file startup tertentu. Versi Visual Studio yang lebih lama mungkin membuka jendela Output dengan penerjemah Python berjalan, atau jendela Output terbuka dan ditutup secara singkat.

Tentukan lingkungan aktif

Jika Anda menggunakan file proyek, debugger selalu dimulai dengan lingkungan Python aktif untuk proyek. Anda dapat mengubah lingkungan aktif saat ini. Untuk informasi selengkapnya, lihat Memilih lingkungan Python untuk proyek.

Jika Anda men-debug file kode Python mandiri, Visual Studio meluncurkan skrip dengan lingkungan default global dan tanpa argumen.

Mengatur titik henti

Titik henti menghentikan eksekusi kode pada titik yang ditandai sehingga Anda dapat memeriksa status program.

Beberapa titik henti di Python mungkin mengejutkan bagi pengembang yang telah bekerja dengan bahasa pemrograman lainnya. Dalam Python, seluruh file adalah kode yang dapat dieksekusi, sehingga Python menjalankan file saat dimuat untuk memproses definisi kelas tingkat atas atau fungsi apa pun. Jika titik henti diatur, Anda mungkin menemukan debugger melanggar sebagian melalui deklarasi kelas. Perilaku ini benar, meskipun terkadang mengejutkan.

  • Untuk mengatur titik henti, pilih di margin kiri editor kode atau klik kanan baris kode dan pilih Titik Henti>Sisipkan Titik Henti. Titik merah muncul di setiap baris yang memiliki titik henti yang ditetapkan.

    Cuplikan layar yang memperlihatkan bagaimana titik henti ditampilkan di margin kiri file kode di Visual Studio.

  • Untuk menghapus titik henti, pilih titik merah atau klik kanan baris kode dan pilih Breakpoint>Delete Breakpoint. Anda juga dapat menonaktifkan titik henti dengan memilih titik merah dan memilih Titik Henti>Nonaktifkan Titik Henti.

    Cuplikan layar yang memperlihatkan cara menonaktifkan titik henti di margin kiri file kode di Visual Studio.

Mengatur kondisi dan tindakan

Anda dapat menyesuaikan kondisi di mana titik henti dipicu, seperti hanya melanggar saat variabel diatur ke nilai atau rentang nilai tertentu.

  • Untuk mengatur kondisi, klik kanan titik merah titik henti, pilih Kondisi. Dialog breakpoint Pengaturan terbuka.

    Dalam dialog, Anda dapat menambahkan beberapa kondisi dan membuat ekspresi kondisional dengan menggunakan kode Python. Untuk detail selengkapnya tentang fitur ini di Visual Studio, lihat Kondisi titik henti.

    Cuplikan layar yang memperlihatkan cara memilih opsi untuk mengonfigurasi Kondisi untuk titik henti di Visual Studio.

  • Anda juga memiliki opsi untuk mengatur Tindakan untuk titik henti. Anda dapat membuat pesan untuk masuk ke jendela Output dan secara opsional menentukan untuk melanjutkan eksekusi secara otomatis.

    Cuplikan layar yang memperlihatkan cara membuat tindakan titik pelacakan untuk titik henti di Visual Studio.

    Mencatat pesan membuat titik pelacakan yang tidak menambahkan kode pengelogan ke aplikasi Anda secara langsung.

Bergantung pada bagaimana Anda mengonfigurasi kondisi dan tindakan untuk titik henti, ikon merah di margin kiri berubah untuk menunjukkan pengaturan Anda. Anda mungkin melihat bentuk titik, timer jam, atau berlian.

Langkah melalui kode

Saat Visual Studio menghentikan eksekusi kode pada titik henti, ada beberapa perintah yang dapat Anda gunakan untuk menelusuri kode Anda atau menjalankan blok kode sebelum melanggar lagi. Perintah tersedia di beberapa tempat di Visual Studio, termasuk toolbar Debugger , menu Debug , menu konteks klik kanan di editor kode, dan melalui pintasan keyboard.

Tabel berikut ini meringkas perintah ini dan menyediakan pintasan keyboard:

Perintah Pintasan Deskripsi
Lanjutkan F5 Jalankan kode hingga Anda mencapai titik henti berikutnya.
Step Into F11 Jalankan pernyataan berikutnya dan hentikan. Jika pernyataan berikutnya adalah panggilan ke fungsi, debugger berhenti di baris pertama fungsi yang disebut.
Step Over F10 Jalankan pernyataan berikutnya, termasuk melakukan panggilan ke fungsi (menjalankan semua kodenya) dan menerapkan nilai pengembalian apa pun. Perintah ini memungkinkan Anda untuk dengan mudah melewati fungsi yang tidak perlu Anda debug.
Keluar Shift+F11 Jalankan kode hingga akhir fungsi saat ini, lalu masuk ke pernyataan panggilan. Perintah ini berguna ketika Anda tidak perlu men-debug sisa fungsi saat ini.
Run to Cursor Ctrl+F10 Jalankan kode hingga ke lokasi tanda sisipan di editor. Perintah ini memungkinkan Anda untuk dengan mudah melewati segmen kode yang tidak perlu Anda debug.
Set Next Statement Ctrl+Shift+F10 Ubah titik eksekusi saat ini dalam kode ke lokasi tanda sisipan. Perintah ini memungkinkan Anda untuk menghilangkan segmen kode agar tidak dijalankan sama sekali, seperti ketika Anda tahu kode rusak atau menghasilkan efek samping yang tidak diinginkan.
Show Next Statement Alt+Num+\ Kembali ke pernyataan berikutnya untuk dijalankan dalam kode. Perintah ini membantu Anda menemukan tempat dalam kode Tempat debugger dihentikan.

Memeriksa dan memodifikasi nilai

Saat menghentikan eksekusi kode di debugger, Anda dapat memeriksa dan memodifikasi nilai variabel. Anda juga dapat menggunakan jendela Watch untuk memantau variabel individual dan ekspresi kustom. Untuk informasi selengkapnya, lihat Memeriksa variabel.

  • Untuk melihat nilai dengan menggunakan fitur DataTips selama penelusuran kesalahan, arahkan mouse ke atas variabel apa pun di editor. Anda dapat memilih nilai variabel untuk mengubahnya:

    Cuplikan layar yang memperlihatkan nilai DataTips untuk variabel di debugger Visual Studio.

  • Untuk menggunakan jendela Otomatis, pilih Debug>Windows>Autos. Jendela ini berisi variabel dan ekspresi yang dekat dengan pernyataan saat ini. Anda dapat mengklik dua kali di kolom nilai atau memilih dan memasukkan F2 untuk mengedit nilai:

    Cuplikan layar yang memperlihatkan jendela Otomatis di debugger Visual Studio.

    Untuk informasi selengkapnya tentang menggunakan jendela Otomatis , lihat Memeriksa variabel di jendela Otomatis dan Lokal.

  • Untuk menggunakan jendela Lokal, pilih Debug>Windows>Locals. Jendela ini menampilkan semua variabel yang berada dalam cakupan saat ini, yang dapat diedit lagi:

    Cuplikan layar yang memperlihatkan jendela Lokal di debugger Visual Studio.

    Untuk informasi selengkapnya tentang menggunakan jendela Lokal , lihat Memeriksa variabel di jendela Otomatis dan Lokal.

  • Untuk menggunakan jendela Tonton, pilih Debug>Windows>Watch>Watch 1-4. Opsi ini memungkinkan Anda memasukkan ekspresi Python arbitrer dan melihat hasilnya. Ekspresi dievaluasi ulang untuk setiap langkah:

    Cuplikan layar yang memperlihatkan jendela Watch di debugger Visual Studio.

    Untuk informasi selengkapnya tentang menggunakan jendela Watch , lihat Mengatur jam tangan pada variabel dengan jendela Watch dan QuickWatch.

  • Untuk memeriksa nilai string, pilih Tampilkan (kaca pembesar) di sisi kanan entri Nilai . Jenis str, unicode, bytes, dan bytearray semuanya tersedia untuk inspeksi.

    Menu dropdown Tampilan menampilkan empat opsi visualisasi: Teks, HTML, XML, atau JSON.

    Cuplikan layar yang memperlihatkan cara mengakses visualizer dari kaca pembesar Tampilan di debugger Visual Studio.

    Setelah Anda memilih visualisasi, dialog popup memperlihatkan nilai string yang tidak dikutip sesuai dengan jenis yang dipilih. Anda dapat melihat string dengan pembungkusan dan pengguliran, penyorotan sintaksis, dan tampilan pohon. Visualisasi ini dapat membantu men-debug masalah dengan string panjang dan kompleks.

Menampilkan pengecualian

Jika terjadi kesalahan dalam program Anda selama penelusuran kesalahan, tetapi Anda tidak memiliki handler pengecualian untuk itu, debugger akan berhenti pada titik pengecualian:

Cuplikan layar yang memperlihatkan popup Pengecualian untuk kesalahan yang tidak tertangani di debugger Visual Studio.

Ketika terjadi kesalahan, Anda dapat memeriksa status program saat ini, termasuk tumpukan panggilan. Namun, jika Anda menelusuri kode, proses penelusuran kesalahan terus melemparkan pengecualian sampai ditangani atau program Anda keluar.

  • Untuk melihat tampilan pengecualian yang diperluas, pilih Debug>Pengaturan Pengecualian Windows.>

    Cuplikan layar yang memperlihatkan jendela Pengaturan Pengecualian di debugger Visual Studio.

    Di jendela Pengecualian Pengaturan, kotak centang berikutnya pengecualian mengontrol apakah debugger selalu rusak saat pengecualian tersebut dinaikkan.

  • Untuk memecah lebih sering untuk pengecualian tertentu, pilih kotak centang di samping pengecualian di jendela Pengecualian Pengaturan.

  • Secara default, sebagian besar pengecualian terputus saat handler pengecualian tidak dapat ditemukan dalam kode sumber. Untuk mengubah perilaku ini, klik kanan pengecualian apa pun dan ubah opsi Lanjutkan Saat Tidak Ditangani dalam Kode Pengguna. Untuk memecah lebih jarang pengecualian, batal pilih opsi ini.

  • Untuk mengonfigurasi pengecualian yang tidak muncul di jendela Pengecualian Pengaturan, pilih Tambahkan (simbol plus). Masukkan nama untuk pengecualian yang akan ditonton. Nama harus cocok dengan nama lengkap pengecualian.

Mengonfigurasi opsi penelusuran kesalahan proyek

Secara default, debugger memulai program Anda dengan peluncur Python standar, tidak ada argumen baris perintah, dan tidak ada jalur atau kondisi khusus lainnya. Anda dapat mengonfigurasi opsi startup untuk proyek Python dengan mengatur properti debug.

  • Untuk mengakses properti debug untuk proyek, klik kanan proyek Python Anda di Penjelajah Solusi, pilih Properti, lalu pilih tab Debug.

    Cuplikan layar yang memperlihatkan properti debug proyek Python di debugger Visual Studio.

Bagian berikut ini menjelaskan properti tertentu.

Menentukan perilaku peluncuran

Tabel berikut ini mencantumkan nilai yang mungkin untuk properti Mode peluncuran. Gunakan properti ini untuk menentukan perilaku peluncuran untuk debugger.

Nilai Deskripsi
Peluncur Python standar Gunakan kode penelusuran kesalahan yang ditulis dalam Python portabel yang kompatibel dengan CPython, IronPython, dan varian seperti Stackless Python. Opsi ini memberikan pengalaman terbaik untuk men-debug kode Python murni. Saat Anda melampirkan ke proses yang sedang berjalan python.exe , peluncur yang ditentukan dalam properti ini digunakan. Peluncur ini juga menyediakan debugging mode campuran untuk CPython, yang memungkinkan Anda untuk melangkah dengan mulus antara kode C/C++ dan kode Python.
Peluncur web Mulai browser default Anda saat peluncuran dan aktifkan penelusuran kesalahan templat. Untuk informasi selengkapnya, lihat bagian Penelusuran kesalahan templat Web.
Peluncur Web Django Terapkan perilaku identik ke properti peluncur Web tetapi untuk lingkungan Django. Gunakan opsi ini hanya untuk tujuan kompatibilitas mundur.
Peluncur IronPython (.NET) Gunakan debugger .NET, yang hanya berfungsi dengan IronPython tetapi memungkinkan untuk melangkah antara proyek bahasa .NET apa pun, termasuk C# dan Visual Basic. Peluncur ini digunakan jika Anda melampirkan ke proses .NET yang sedang berjalan yang menghosting IronPython.

Menentukan perilaku eksekusi

Tabel berikut ini menjelaskan properti yang bisa Anda atur untuk mengonfigurasi perilaku yang sedang berjalan untuk debugger.

Properti Deskripsi
Jalur Pencarian Tentukan jalur pencarian file dan folder yang digunakan Visual Studio untuk proyek Anda. Nilai-nilai ini cocok dengan item yang ditampilkan dalam simpul Jalur Pencarian proyek di Penjelajah Solusi. Meskipun Anda dapat menentukan jalur pencarian dalam dialog ini, lebih mudah untuk menggunakan Penjelajah Solusi, di mana Anda dapat menelusuri folder dan secara otomatis mengonversi jalur ke formulir relatif.
Argumen Skrip Tentukan argumen yang akan ditambahkan ke perintah yang digunakan Visual Studio untuk meluncurkan skrip Anda, dan muncul setelah nama file skrip Anda. Item pertama yang tercantum dalam nilai tersedia untuk skrip Anda sebagai sys.argv[1], yang kedua sebagai sys.argv[2], dan sebagainya.
Argumen Interpreter Cantumkan argumen untuk ditambahkan ke baris perintah peluncur sebelum nama skrip Anda. Argumen umum adalah -W ... mengontrol peringatan, -O untuk sedikit mengoptimalkan program Anda, dan -u menggunakan IO yang tidak dibuffer. Pengguna IronPython kemungkinan akan menggunakan bidang ini untuk meneruskan opsi -X, seperti -X:Frames atau -X:MTA.
Jalur Interpreter Identifikasi jalur interpreter untuk mengambil alih jalur yang terkait dengan lingkungan saat ini. Nilai mungkin berguna untuk meluncurkan skrip Anda dengan penerjemah nonstandar.
Variabel Lingkungan Gunakan properti ini untuk menambahkan entri formulir <NAME>=\<VALUE>. Visual Studio menerapkan nilai properti ini terakhir, di atas variabel lingkungan global yang ada, dan setelah PYTHONPATH diatur sesuai dengan pengaturan Jalur Pencarian. Akibatnya, pengaturan ini dapat digunakan untuk mengambil alih salah satu variabel lain secara manual.

Bekerja dengan jendela interaktif

Ada dua jendela interaktif yang dapat Anda gunakan selama sesi penelusuran kesalahan: jendela Langsung Visual Studio standar dan jendela Interaktif Debug Python.

Buka jendela Langsung

Anda dapat menggunakan jendela Visual Studio Immediate standar untuk mengevaluasi ekspresi Python dengan cepat dan memeriksa atau menetapkan variabel dalam program yang sedang berjalan. Untuk informasi selengkapnya, lihat Jendela langsung.

  • Untuk membuka jendela Segera, pilih Debug>Windows>Segera. Anda juga dapat menggunakan pintasan keyboard Ctrl+Alt+I.

Buka jendela Debug Interaktif

Jendela Interaktif Debug Python menawarkan lingkungan yang kaya dengan pengalaman REPL Interaktif lengkap yang tersedia saat penelusuran kesalahan, termasuk menulis dan menjalankan kode. Jendela ini secara otomatis terhubung ke proses apa pun yang dimulai di debugger dengan menggunakan peluncur Python Standar, termasuk proses yang dilampirkan melalui Debug>Lampirkan ke Proses. Namun, jendela ini tidak tersedia saat menggunakan debugging C/C++ mode campuran.

  • Untuk menggunakan jendela Debug Interaktif, pilih Debug>Windows>Python Debug Interactive (Shift+Alt+I).

    Cuplikan layar yang memperlihatkan cara bekerja dengan jendela Interaktif Debug Python di Visual Studio.

Jendela Debug Interactive mendukung meta-command khusus selain perintah REPL standar, seperti yang dijelaskan dalam tabel berikut:

Perintah Deskripsi
$continue, , $cont$c Mulai jalankan program dari pernyataan saat ini.
$down, $d Turunkan bingkai satu tingkat untuk bingkai saat ini dalam pelacakan tumpukan.
$frame Tampilkan ID bingkai saat ini.
$frame Alihkan bingkai saat ini ke ID bingkai yang ditentukan.
- Memerlukan <argumen ID> bingkai.
$load Muat perintah dari file dan jalankan hingga selesai.
$proc Tampilkan ID proses saat ini.
$proc Alihkan proses saat ini ke ID proses yang ditentukan.
- Memerlukan <argumen ID> proses.
$procs Cantumkan proses yang saat ini sedang di-debug.
$stepin, , $step$s Masuk ke panggilan fungsi berikutnya, jika memungkinkan.
$stepout, , $return$r Keluar dari fungsi saat ini.
$stepover, , $until$unt Langkah di atas panggilan fungsi berikutnya.
$thread Tampilkan ID utas saat ini.
$thread Alihkan utas saat ini ke ID utas yang ditentukan.
- Memerlukan argumen ID utas<.>
$threads Mencantumkan utas yang saat ini sedang di-debug.
$up, $u Naikkan bingkai satu tingkat untuk bingkai saat ini dalam pelacakan tumpukan.
$where, , $w$bt Cantumkan bingkai untuk utas saat ini.

Jendela debugger standar seperti Proses, Utas, dan Tumpukan Panggilan tidak disinkronkan dengan jendela Debug Interactive. Jika Anda mengubah proses aktif, utas, atau bingkai di jendela Debug Interaktif , jendela debugger lainnya tidak terpengaruh. Demikian pula, mengubah proses aktif, utas, atau bingkai di jendela debugger lainnya tidak memengaruhi jendela Debug Interactive.

Menggunakan debugger lama

Bergantung pada konfigurasi lingkungan, Anda mungkin perlu menggunakan debugger warisan:

  • Visual Studio 2017 versi 15.7 dan yang lebih lama dengan Python 2.6, 3.1 hingga 3.4, atau IronPython
  • Visual Studio 2019 versi 16.5 dan yang lebih baru dengan Python 2.6, 3.1 hingga 3.4, atau IronPython
  • ptvsd 3.x dan versi 4.x awal

Debugger warisan adalah default di Visual Studio 2017 versi 15.7 dan yang lebih lama.

  • Untuk menggunakan debugger warisan, pilih Opsi Alat>, perluas opsi Debugging Python>, dan pilih opsi Gunakan debugger warisan.

Mendukung versi Visual Studio atau Python yang lebih lama

Visual Studio 2017 versi 15.8 dan yang lebih baru menggunakan debugger berdasarkan ptvsd versi 4.1 dan yang lebih baru. Visual Studio 2019 versi 16.5 dan yang lebih baru menggunakan debugger berdasarkan debugpy. Kedua versi debugger ini kompatibel dengan Python 2.7 atau Python 3.5 dan yang lebih baru.

Jika Anda menjalankan salah satu versi Visual Studio ini, tetapi Anda menggunakan Python 2.6, 3.1 hingga 3.4, atau IronPython, Visual Studio menampilkan kesalahan, Debugger tidak mendukung lingkungan Python ini:

Cuplikan layar pesan kesalahan debugger 'Debugger tidak mendukung lingkungan Python ini'.

Saat Visual Studio melaporkan kesalahan lingkungan ini, Anda harus menggunakan debugger warisan.

Mendukung versi ptvsd yang lebih lama

Jika Anda menggunakan versi ptvsd yang lebih lama di lingkungan saat ini (seperti versi 4.0.x sebelumnya, atau versi 3.x yang diperlukan untuk penelusuran kesalahan jarak jauh), Visual Studio mungkin menampilkan kesalahan atau peringatan.

Jika lingkungan Anda menggunakan ptvsd 3.x, Visual Studio menampilkan kesalahan, paket Debugger tidak dapat dimuat:

Cuplikan layar pesan kesalahan debugger 'Paket debugger tidak dapat dimuat'.

Peringatan, paket Debugger kedaluarsa, muncul saat Anda menggunakan ptvsd versi 4.x sebelumnya:

Cuplikan layar pesan peringatan debugger 'Paket debugger sudah kedaluarsa'.

Saat Visual Studio melaporkan kesalahan lingkungan ini, Anda harus menggunakan debugger warisan.

Penting

Meskipun Anda mungkin memilih untuk mengabaikan peringatan untuk beberapa versi ptvsd, Visual Studio mungkin tidak berfungsi dengan benar.

Mengelola penginstalan ptvsd Anda

Ikuti langkah-langkah berikut untuk mengelola penginstalan ptvsd Anda:

  1. Di jendela Lingkungan Python, buka tab Paket .

  2. Masukkan ptvsd di kotak pencarian dan periksa versi ptvsd yang diinstal:

    Cuplikan layar yang memperlihatkan cara memeriksa versi ptvsd di jendela Lingkungan Python.

  3. Jika versinya lebih rendah dari 4.1.1a9 (versi yang dibundel dengan Visual Studio), pilih X di sebelah kanan paket untuk menghapus instalan versi yang lebih lama. Visual Studio kemudian menggunakan versi bundelnya. (Anda juga dapat menghapus instalan dari PowerShell dengan menggunakan pip uninstall ptvsd perintah .)

  4. Atau, Anda dapat memperbarui paket ptvsd ke versi terbarunya dengan mengikuti instruksi di bagian Memecahkan masalah skenario debug.

Memecahkan masalah skenario debug

Skenario berikut menjelaskan opsi pemecahan masalah lainnya untuk konfigurasi penelusuran kesalahan Anda.

Meningkatkan ptvsd untuk Visual Studio 2019

Jika Anda mengalami masalah dengan debugger di Visual Studio 2019 versi 16.4 dan yang lebih lama, pertama-tama tingkatkan versi debugger Anda sebagai berikut:

  1. Di jendela Lingkungan Python, buka tab Paket .

  2. Masukkan ptvsd --upgrade di kotak pencarian, lalu pilih Jalankan perintah: pip install ptvsd --upgrade. (Anda juga dapat menggunakan perintah yang sama dari PowerShell.)

    Cuplikan layar yang memperlihatkan cara memilih perintah peningkatan ptvsd di jendela Lingkungan Python.

    Jika masalah berlanjut, ajukan masalah pada repositori GitHub PTVS.

    Catatan

    Untuk Visual Studio 2019 versi 16.5 dan yang lebih baru, debugpy adalah bagian dari beban kerja Python Visual Studio dan diperbarui bersama dengan Visual Studio.

Mengaktifkan pengelogan debugger

Dalam rangka menyelidiki masalah debugger, Microsoft mungkin meminta Anda untuk mengaktifkan dan mengumpulkan log debugger untuk membantu dalam diagnosis.

Langkah-langkah berikut mengaktifkan penelusuran kesalahan dalam sesi Visual Studio saat ini:

  1. Buka jendela perintah di Visual Studio dengan memilih Tampilkan>Jendela Perintah Windows>Lainnya.

  2. Masukkan perintah berikut:

    DebugAdapterHost.Logging /On /OutputWindow
    
  3. Mulai penelusuran kesalahan dan lakukan langkah-langkah yang diperlukan untuk mereproduksi masalah Anda. Selama waktu ini, log debug muncul di jendela Output di bawah Log Host Adaptor Debug. Anda kemudian dapat menyalin log dari jendela tersebut dan menempelkan ke masalah GitHub, email, dan sebagainya.

    Cuplikan layar yang memperlihatkan output pengelogan Debugger di jendela Output di Visual Studio.

  4. Jika Visual Studio berhenti merespons atau Anda tidak dapat mengakses jendela Output, hidupkan ulang Visual Studio, buka jendela perintah, dan masukkan perintah berikut:

    DebugAdapterHost.Logging /On
    
  5. Mulai debugging dan reproduksi masalah Anda lagi. Log debugger terletak di %temp%\DebugAdapterHostLog.txt.