Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menyajikan Langkah 4 dalam seri tutorial Bekerja dengan Python di Visual Studio.
Visual Studio menyediakan kemampuan untuk mengelola proyek, pengalaman pengeditan yang kaya, Interactive Window, dan penelusuran kesalahan berfungsi penuh untuk kode Python. Di Langkah 4 dari seri tutorial ini, Anda memanfaatkan Debugger untuk menjalankan kode Anda secara bertahap, termasuk setiap perulangan. Dalam Debugger , Anda dapat menjeda program Anda setiap kondisi tertentu terpenuhi. Kapan saja ketika program dijeda, Anda dapat memeriksa seluruh status program dan mengubah nilai variabel. Tindakan tersebut sangat penting untuk melacak bug program, dan juga memberikan bantuan yang bermanfaat untuk mengikuti alur program yang tepat.
Di Langkah 4 tutorial, Anda mempelajari cara:
- Menjalankan kode Python di Debugger di Visual Studio
- Mengatur titik henti dan kondisi
- Memeriksa status program dan mengubah variabel
- Menjelajahi Debugger jendela dan tindakan
Prasyarat
- Proyek aplikasi Python yang memiliki file Python (.py) dengan kode yang dibuat di Langkah 2: Tulis dan jalankan kode Python dan Langkah 3: Gunakan jendela REPL Interaktif tutorial ini.
Menyiapkan file Python
Untuk mempersiapkan latihan penelusuran kesalahan, ikuti langkah-langkah berikut untuk memperbarui file proyek Python Anda untuk menyertakan kode yang lebih kuat:
Buka file proyek Python Anda (.py) di editor.
Ganti kode dalam file dengan kode berikut. Versi kode ini memperluas fungsi
make_dot_string
sehingga Anda dapat memeriksa langkah-langkah diskritnya dalam debugger. Ini memindahkan perulanganfor
ke fungsimain
dan menjalankannya secara eksplisit dengan memanggil fungsimain
:from math import cos, radians # Create a string with spaces proportional to a cosine of x in degrees def make_dot_string(x): rad = radians(x) # cos works with radians numspaces = int(20 * cos(rad) + 20) # Scale to 0-40 spaces st = ' ' * numspaces + 'o' # Place 'o' after the spaces return st def main(): for i in range(0, 1800, 12): s = make_dot_string(i) print(s) main()
Mulai debug
Sekarang Anda siap untuk mulai memeriksa kode Python yang diperbarui di Debugger.
Konfirmasikan bahwa kode berfungsi dengan baik dengan memilih Debug>Mulai Penelusuran Kesalahan pada toolbar atau gunakan pintasan keyboard F5. Perintah ini menjalankan kode di Debugger.
Debugger tidak mendeteksi masalah apa pun, sehingga program berhasil berjalan. Jendela output terbuka dan Anda melihat beberapa iterasi pola gelombang kosinus. Pilih kunci apa pun untuk menutup jendela output.
Tips
Untuk menutup jendela output secara otomatis saat program selesai, pilih Alat>Opsi, perluas Python>Debugging, dan kosongkan opsi "Tunggu input saat proses keluar secara normal".
Atur titik henti pada pernyataan perulangan
for
dengan menggunakan salah satu metode berikut:- Klik pada margin kiri untuk baris kode tersebut.
- Klik kanan baris kode dan pilih titik henti >Sisipkan Titik Henti.
- Tempatkan tanda sisipan di baris kode dan pilih Debug>Ganti Titik Henti (atau gunakan pintasan keyboard F9).
Titik henti menghentikan eksekusi kode pada titik yang ditandai sehingga Anda dapat memeriksa status program. Titik merah muncul di setiap baris yang memiliki titik henti yang ditetapkan.
Mulai Debugger lagi (F5). Kode yang berjalan untuk program berhenti pada baris dengan titik henti yang ditetapkan. Anda sekarang dapat memeriksa tumpukan panggilan dan memeriksa variabel untuk status kode program yang sedang berjalan ini.
Visual Studio menyediakan banyak cara untuk mengamati kode program dan data eksekusi Anda, termasuk jendela berikut:
- Tumpukan panggilan menunjukkan riwayat fungsi dan panggilan metode oleh kode program.
- Variabel yang ditentukan yang berada dalam lingkup muncul di jendela Otomatis.
- Tampilan Locals menampilkan semua variabel yang ditemukan Visual Studio dalam cakupan saat ini (termasuk fungsi), bahkan sebelum ditentukan dalam kode.
Untuk melihat daftar lengkap jendela dan tindakan yang tersedia, pilih Debug>Windows.
Anda dapat membuka jendela Debugger untuk melihat status program Anda saat titik henti ditemui:
Gunakan tindakan Debugger
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 menghentikan kembali. Perintah tersedia di beberapa tempat di Visual Studio, termasuk toolbar Debugger, menu Debug, menu konteks di editor kode, dan melalui pintasan keyboard.
Toolbar Debugger di sepanjang bagian atas jendela Visual Studio menyediakan akses cepat ke perintah penelusuran kesalahan yang paling umum:
Tabel berikut ini meringkas perintah ini saat muncul dari kiri ke kanan pada toolbar:
Perbuatan | Jalan pintas | Deskripsi |
---|---|---|
Lanjutkan | F5 | Jalankan kode hingga Anda mencapai titik henti berikutnya atau hingga penyelesaian program. |
Putus Semua | Ctrl+Alt+Break | Jeda program yang berjalan lama. |
Hentikan Penelusuran Kesalahan | Shift+F5 | Hentikan program pada titik saat ini, dan keluar dari Debugger. |
Mulai ulang | Ctrl+Shift+F5 | Hentikan program pada titik saat ini, dan mulai ulang eksekusi program dari awal di Debugger. |
Tampilkan Pernyataan Berikutnya | Alt+Num+\ | Kembali ke pernyataan berikutnya yang akan dieksekusi dalam kode. Perintah ini membantu Anda menemukan lokasi dalam kode di mana Debugger dihentikan. |
Masuk ke | F11 | Jalankan pernyataan berikutnya dan hentikan. Jika pernyataan berikutnya adalah panggilan ke fungsi, Debugger masuk ke dalam fungsi dan berhenti pada baris pertama. |
Melangkahi | 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. |
Melangkah Keluar | Shift+F11 | Jalankan kode hingga akhir fungsi saat ini, lalu masuk ke pernyataan panggilan dan jeda. Perintah ini berguna ketika Anda tidak perlu men-debug sisa fungsi saat ini. |
Ikuti langkah-langkah ini untuk menggunakan Debugger dalam kode Python Anda:
Langkahi pernyataan perulangan
for
dengan menggunakan tindakan langkah.Stepping menyebabkan Debugger menjalankan baris kode saat ini, termasuk fungsi yang dipanggil, dan langsung berhenti sejenak kembali. Setelah Anda melangkah, perhatikan bahwa variabel
i
sekarang ditentukan di jendela Lokal dan Otomatis.Lompat melewati baris kode berikutnya, yang memanggil fungsi
make_dot_string
.Dalam hal ini, Step Over menyebabkan Debugger menjalankan seluruh fungsi
make_dot_string
dan menjeda setelah fungsi dikembalikan. Debugger tidak berhenti di dalam fungsi kecuali ada titik henti terpisah di sana.Lanjutkan melangkahi kode beberapa kali lagi dan amati bagaimana nilai di jendela Lokal atau Otomatis berubah.
Di jendela Lokal atau Otomatis, klik dua kali kolom Nilai untuk variabel guna mengedit nilai. Dalam contoh ini, ubah nilai untuk variabel
s
menjadi'Hello, Python Application'
. Pastikan untuk mengapit nilai dalam tanda kutip tunggal. Pilih Masukkan atau area apa pun di luar nilai untuk menerapkan perubahan Anda.Lanjutkan menelusuri kode dengan menggunakan Masuk ke hingga panggilan ke fungsi
make_dot_string
.Untuk sebuah fungsi, Step Into menyebabkan Debugger memanggil fungsi dan juga masuk ke dalam kode fungsi. Ketika proses debugging berada di dalam fungsi, Anda dapat memeriksa variabel lokalnya dan melangkah melalui kodenya secara khusus. Dalam contoh ini, tindakan Melangkah ke berpindah ke fungsi
make_dot_string
.Lanjutkan langkah dengan Langkah Ke hingga pengembalian dari fungsi
make_dot_string
.Saat Anda mencapai akhir kode fungsi
make_dot_string
, langkah berikutnya mengembalikanDebugger ke perulanganfor
dengan nilai pengembalian baru dalam variabels
.Saat Anda melangkah lagi ke pernyataan
print
, perhatikan bahwa tindakan Langkah Ke pada pernyataanprint
tidak masuk ke fungsi tersebut. Perilaku ini karena fungsiprint
tidak ditulis dalam Python. Ini adalah kode asli di dalam runtime Python.Lanjutkan menggunakan Step Into hingga Anda kembali masuk ke fungsi
make_dot_string
, lalu gunakan Step Out dan perhatikan bahwa Debugger kembali ke loopfor
.Dengan Step Out, Debugger menjalankan sisa fungsi dan kemudian secara otomatis menjeda dalam kode panggilan. Tindakan ini berguna setelah Anda menelusuri beberapa bagian dari fungsi panjang tersebut ketika Anda ingin mengakhiri pengamatan Anda terhadap fungsi tersebut. Langkah Keluar melewati kode yang tersisa atau sampai mencapai titik henti eksplisit yang ditetapkan dalam kode pemanggil.
Lanjutkan menjalankan program hingga titik henti berikutnya tercapai dengan menggunakan Lanjutkan (F5). Karena Anda memiliki titik henti yang dipasang dalam loop
for
, Anda berhenti pada iterasi berikutnya.Anda dapat mengonfirmasi bahwa program terus dijalankan dengan mengamati nilai yang berubah untuk variabel
s
di jendela Lokal.
Gunakan kondisi titik henti
Menelusuri ratusan iterasi dalam sebuah perulangan bisa membosankan, jadi Visual Studio memungkinkan Anda menambahkan kondisi ke titik henti. Saat Anda mengatur kondisi titik henti, Debugger menjeda program pada titik henti hanya saat kondisi terpenuhi.
Langkah-langkah berikut menunjukkan cara menentukan kondisi titik henti pada pernyataan perulangan for
sehingga Debugger menjeda hanya ketika nilai variabel i
melebihi 1600:
Untuk mengatur kondisi titik henti, klik kanan titik titik henti merah dan pilih Kondisi atau gunakan pintasan keyboard Alt+F9>C.
Dalam dialog pop-up Pengaturan Titik Henti , konfigurasikan pengaturan berikut untuk membuat Kondisi .
Atur jenis kondisi ke Ekspresi Bersyarat.
Tentukan evaluasi kondisi ke Benar.
Masukkan
i > 1600
sebagai nilai kondisi.Pilih Tutup.
Pilih F5 untuk melanjutkan penelusuran kesalahan dan eksekusi program. Amati bahwa program menjalankan banyak iterasi sebelum mencapai titik henti kondisional.
Anda dapat mengonfirmasi bahwa Debugger menjeda eksekusi program dengan benar saat mencapai titik henti bersyarat. Ketika kondisi terpenuhi, jendela Lokal menunjukkan nilai variabel
i
sebagai1608
.Untuk menjalankan program hingga selesai, Anda dapat menonaktifkan titik henti dan melanjutkan eksekusi program.
Arahkan mouse ke atas titik merah dan pilih Nonaktifkan, atau klik kanan titik merah dan pilih Nonaktifkan titik henti.
Pilih Lanjutkan (atau tekan F5) untuk menjalankan program.
Saat program berakhir, Visual Studio menghentikan sesi penelusuran kesalahan dan kembali ke mode pengeditan.
Anda juga dapat menghapus titik jeda. Pilih titik merah atau klik kanan titik dan pilih Hapus titik henti. Tindakan ini juga menghapus kondisi yang ditentukan.
Tips
Dalam beberapa situasi, seperti kegagalan untuk meluncurkan penerjemah Python itu sendiri, jendela output Python mungkin segera ditutup setelah program selesai tanpa menjeda dan menunjukkan Tekan tombol apa pun untuk melanjutkan permintaan. Untuk memaksa jeda dan prompt, tambahkan argumen -i
ke bidang Jalankan>Argumen Interpreter pada tab Debug. Argumen ini memasukkan interpreter Python ke dalam mode interaktif setelah kode dijalankan. Program menunggu Anda memilih Ctrl+Z+Enter untuk menutup jendela.