2016-02-26 1295 views
3

在Pycharm 5.0.4中調試我的Python 3.5 pogram時,我試圖點擊暫停按鈕來查找程序掛起的原因/方式(可以在Visual Studio中完成)。如何在Pycharm中暫停程序執行(暫停按鈕不工作)?

然而,什麼也沒有發生:暫停按鈕不會變成灰色和恢復按鈕保持灰色,並在調試工具窗口,「框架是不可用」。

我試着用不同的基本程序,在Linux和Windows上,都無濟於事。

這是bug還是我失去了在Pycharm調試應該如何工作的東西嗎?

我還注意到,當一個斷點時,只有一個線程被掛起,我可以看到沒有辦法暫停其他線程檢查他們的堆棧幀。我很想知道如何實現這個特定於線程的暫停。

回答

-1

在PyCharm中,有一個用於調試的選項,它可以讓你逐步瀏覽代碼,這可能更有用,而不是試圖暫停程序。

您需要在代碼中最初插入一個斷點;只是在該行點擊灰色欄中你想打破:

InsertBreakPoint

然後,你可以按Alt + Shift + F9,或在菜單中單擊Run > Debug開始通過從該點代碼加強:

enter image description here

DebugStepThrough

一旦啓動調試模式,通過單擊紅色圓圈高亮按鈕 - 這將使您逐步瀏覽代碼,查看變量,分配以及是否收到任何錯誤。

如果您需要停止在任何時候,正好打在調試窗口的左邊的紅色停止按鈕。
控制檯選項卡將允許您查看正在打印的內容到屏幕上(如果有的話),以及在什麼時候,你免於報表打印負荷喜歡你,如果使用空閒或類似的IDE

調試

HTH

+3

斷點是不要隨意停止執行,並且確定哪些線路都掛在死鎖的情況下非常有用的。 –

0

聽起來像你的程序掛在睡眠或類似的東西上,或者可能在某些本地代碼上。

如果這是一個普通的Python循環暫停蟒蛇會工作。 我相信問題是與Python本身,而不是你正在使用的調試工具。

當您暫停python程序時,您會暫停interperter,因此所有在interperter上下文中運行的線程都會暫停,您可以在框架窗口中看到它們。顯示消息「幀在非暫停狀態下不可用」的任何線程都不會暫停,因爲它在暫停程序時正在休眠。

看到了如何調試C代碼 Not working python breakpoints in C thread in pycharm or eclipse+pydev