如何取得正在運行的 Python 應用程式的堆疊追蹤?
檢查正在運行的Python 應用程式的堆疊追蹤
當Python 應用程式意外掛起時,確定問題根源可能會很困難。幸運的是,有一些技術可以獲取正在運行的應用程式的堆疊跟踪,使您可以查明應用程式停止時正在執行的特定程式碼。
使用自訂訊號處理程序
顯示堆疊追蹤的一種方法是使用自訂訊號處理程序。該技術涉及向正在運行的應用程式發送信號,觸發處理程序捕獲堆疊追蹤並以交互方式顯示它。以下是使用偵錯功能的範例:
<code class="python">import code, traceback, signal def debug(sig, frame): d={'_frame':frame} d.update(frame.f_globals) 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) </code>
呼叫listen()函數後,使用os.kill或kill向進程發送SIGUSR1訊號將中斷正在運行的應用程序,提供Python控制台與堆疊追蹤。
以上是如何取得正在運行的 Python 應用程式的堆疊追蹤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Linux終端中查看Python版本時遇到權限問題的解決方法當你在Linux終端中嘗試查看Python的版本時,輸入python...

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

在使用Python的pandas庫時,如何在兩個結構不同的DataFrame之間進行整列複製是一個常見的問題。假設我們有兩個Dat...

Uvicorn是如何持續監聽HTTP請求的? Uvicorn是一個基於ASGI的輕量級Web服務器,其核心功能之一便是監聽HTTP請求並進�...

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

攻克Investing.com的反爬蟲策略許多人嘗試爬取Investing.com(https://cn.investing.com/news/latest-news)的新聞數據時,常常�...
