[英]PyDev: How to invoke debugging specific command from console (with breakpoints)?
假設我寫了一個函數,我想調試它。
PyDev通過其高級功能(如斷點)幫助調試很多。
設置斷點后,一種調試方法是在def main()
或在模塊的主體中寫入函數的調用,並按下 按鈕。
是否可以從控制台啟動函數的調試會話及其參數? (就像在RStudio或VBA中一樣......)
這個問題是pydev的重復:在控制台模式下調試(交互式)?
更新:我真的不知道,點擊的神奇組合是什么,使交互式調試成為可能。
這是我的工作 ,這是行不通的 (在Ubuntu 14.04和Eclipse 4.4.I20140606-1215與PyDev 3.6.0.2014062323,Python 3.4.0,IPython 1.2.1)
首先,我創建一個新的PyDev項目:
然后我插入一個帶有一些代碼的新.py文件,並創建一些斷點:
然后我右鍵單擊代碼上的某個地方, Debug As...
- > Python run
。
然后打開2個控制台,其中沒有一個是IPython。 活動控制台名為[Debug console] proba.py
。 在此控制台中鍵入命令不會使計算機執行它們。
還有其他可用的控制台,名為proba.py
。 這個控制台是完全交互式的,雖然它不是IPython 。
這確實是一個交互式調試器。 可以單步執行代碼並檢查變量。 不幸的是,不支持更新變量; 如果我輸入命令a=10
則變量不會更新。
這次,在啟動調試會話之前,讓我們嘗試啟動IPython。 按Ctrl + Alt + Enter后,我選擇Console for currently active editor
:
然后Python3(因為這是我需要的):
之后我有一個完全工作的IPython控制台。
當我通過execfile
執行文件時,它會觸發錯誤Failed to create input stream: Read timed out
:
雖然看起來,通過代碼工作,我無法從IPython控制台訪問變量,雖然可以從Variables視圖訪問它們:
實際上,是的,你可以在最新的PyDev版本中做到這一點。
您必須在首選項中啟用它,如下所述:
http://pydev.org/manual_adv_interactive_console.html#full-debug-support-in-interactive-console
(即:將控制台連接到調試會話)
編輯(與第2部分相關):
不幸的是,事情就是這樣,這是預期的...你的代碼在斷點中被“阻止”,因此當你在這種模式下的斷點時,控制台無法回答你的問題,也無法做任何評估(你只能這樣做)此時使用調試器監視/表達式),因此,想法是使用控制台執行操作然后如果需要可以添加斷點,但只能在離開斷點時再次使用控制台。
請注意,如果要在斷點的上下文中使用交互式控制台,則另一種方法是選擇堆棧幀(在調試視圖中)>右鍵單擊它> pydev> Debug Console(或者您也可以在調試中) view創建一個連接到調試會話的新控制台視圖以獲得相同的效果)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.