PyTrace - Debugger Perjalanan Waktu untuk Python

Saya sering harus berurusan dengan debugging.

Kadang-kadang saya menetapkan breakpoint, tetapi saya mengerti bahwa ini sudah terlambat, dan kita harus memulai dari awal lagi.

Selain itu, sebelum memulai debugging, saya menyiapkan data, menghapus database dari catatan yang tidak perlu. Semua untuk lupa untuk masuk ke metode yang tampaknya tidak berbahaya dan memulai seluruh proses lagi.

Rumit dengan kenyataan bahwa Anda harus bekerja dengan kode lawas, yang terkadang sulit dipahami.

Apakah mungkin untuk lebih memahami kode yang membingungkan? Tetapi bagaimana jika kita dapat memahami kode seperti itu lebih cepat daripada orang yang menulisnya?

Meet

PyTrace adalah Pelacak Debugging Perjalanan-Waktu

gambar

Perbedaan utama dari debugger tradisional:

  1. Sesi direkam sekali, dan Anda dapat memutarnya berkali-kali.
  2. Sekarang Anda tidak perlu takut untuk mengklik Langkah Ke, Anda selalu dapat kembali dan pergi ke fungsi yang menarik.
  3. Tidak ada gunanya lagi menggunakan `print`. Semua variabel terlihat di inspektur setiap saat.

Selain itu, menggunakan Flame Chart bawaan, Anda dapat dengan cepat "menyelam" ke dalam metode yang menarik dan melihat apa yang sebenarnya terjadi di sana:

gambar

[Perintah] + Klik untuk memperbesar fungsi bunga
[Shift] + Klik pada metode, transfer sebentar, ketika fungsi akan kembali.

Tutorial Hot Key:
( dalam bentuk teks )

Apa yang dicatat pada saat runtime:

  1. Variabel lokal
  2. Nilai Masuk dan Kembali
  3. Waktu sejak perekaman dimulai
  4. Tumpukan panggilan

Juga, konten file sumber ditulis ke file replay pada saat debugger dimulai.

Untuk mencoba proyek Anda:


1. Instal paket pip:

pip install pycrunch-trace

2. Tambahkan dekorator jejak tentang metode bunga:

from pycrunch_trace.client.api import trace

@trace
def run():
    some_code()

3. Jalankan kode!

Replay akan direkam di direktori kerja. Itu dapat dilihat menggunakan aplikasi web: app.pytrace.com
(data tidak dikirim ke mana pun, semua pekerjaan dengan rekaman terjadi secara lokal di browser)

Saya biasanya menambahkan @traceatribut ke metode Django View.

Demo interaktif


Saya sarankan untuk pergi melalui demo interaktif untuk berkenalan dengan semua fitur.

Referensi


Github: Aplikasi web

paket Pip
untuk melihat sesi yang direkam

Situs web:

https://pytrace.com/

Video dengan fungsi utama:


All Articles