Nyahpepijat Aplikasi Python yang Menjalankan dengan Jejak Timbunan On-the-Fly
Menghadapi aplikasi terhenti sekali-sekala boleh mengecewakan apabila menyelesaikan masalah punca. Python menyediakan mekanisme untuk menjana surih tindanan masa nyata, membolehkan anda memeriksa kod yang sedang dilaksanakan dan mengenal pasti tempat yang bermasalah.
Penyelesaian menggunakan Pengendalian Isyarat
Kepada dapatkan surih tindanan segera, pertimbangkan untuk menggunakan kod berikut:
<code class="python">import code, traceback, signal def debug(sig, frame): d={'_frame':frame} # Allow access to frame object. d.update(frame.f_globals) # Unless shadowed by global d.update(frame.f_locals) i = code.InteractiveConsole(d) message = "Signal received : entering python shell.\nTraceback:\n" message += ''.join(traceback.format_stack(frame)) i.interact(message) def listen(): signal.signal(signal.SIGUSR1, debug) # Register handler listen()</code>
Penggunaan:
Ini akan mencetuskan Python konsol dengan surih tindanan semasa dan membolehkan anda meneroka pembolehubah. Tekan Ctrl-D untuk menyambung semula pelaksanaan.
Pilihan Tambahan
Untuk menyahpepijat proses latar belakang, pertimbangkan untuk menggunakan penyelesaian berasaskan paip yang disediakan dalam resipi Buku Masakan Python.
Atas ialah kandungan terperinci Bagaimana untuk Nyahpepijat Menjalankan Aplikasi Python dengan Jejak Timbunan On-the-Fly?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!