簡體   English   中英

PyDev:如何從控制台調用特定於調試的命令(帶斷點)?

[英]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 在此控制台中鍵入命令不會使計算機執行它們。

還有其他可用的控制台,名為proba.py <code> proba.py </ code>控制台 這個控制台是完全交互式的,雖然它不是IPython

這確實是一個交互式調試器。 可以單步執行代碼並檢查變量。 不幸的是,不支持更新變量; 如果我輸入命令a=10則變量不會更新。

第二次嘗試

這次,在啟動調試會話之前,讓我們嘗試啟動IPython。 按Ctrl + Alt + Enter后,我選擇Console for currently active editor

在此輸入圖像描述

然后Python3(因為這是我需要的): 在此輸入圖像描述

之后我有一個完全工作的IPython控制台。 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM