簡體   English   中英

在 Pycharm 調試器中更改變量

[英]change variable in Pycharm debugger

當我在 Pycharm 中調試 Python 代碼時,我經常想更改一些由原始代碼設置的變量。
我可以通過 Debugger 選項卡執行此操作,單擊相應的變量並使用 Set Value 函數更改它。 這感覺點擊太多了,我更願意通過控制台界面來完成。 但是當我嘗試這個時,它不會更新變量:

>>> filename
Out[6]: 'a'
>>> filename='b'
>>> filename
Out[8]: 'a'

有沒有辦法通過控制台界面更改這些類型的變量?

使用魔法按鈕

你完全可以這樣做。 在斷點處停止時:

  1. 在調試器控制台選項卡,點擊秀Python提示符
  2. B處鍵入您的 python 代碼以在出現的提示處修改變量
  3. C處的控制台窗格中查看結果

注意:如果您關閉按鈕並在程序結束時,交互式控制台回顯命令(圖像中帶有 >>> 的 C 行)消失,這有點奇怪。 我經常想復制我輸入的命令。

這似乎是一個錯誤,上面的答案表明可以操縱已存在對象的狀態,但是似乎不可能為變量本身分配新值(或對象)。

請參閱以下片段以進行說明:

>>> var_obj.temp = 1
>>> var_obj
Out[2]: namespace(temp=1)
>>> var_obj.temp2 = 2
>>> var_obj.temp = 10
>>> var_obj
Out[5]: namespace(temp=10, temp2=2)
>>> var_simple = 10
>>> var_simple
Out[7]: 1

該問題早在 2013 年就已報告給 PyCharm 問題跟蹤器(請參閱鏈接)。 人們報告說該問題自 PyCharm 3 以來就存在,有些人認為這可能是 Python 問題而不是 PyCharm,但尚不清楚原因。

無論如何,這種行為令人困惑,至少在嘗試調試時應該考慮到 - 直到它被修復。

不幸的是,您無法通過在調試會話中彈出的控制台來執行此操作。 您只能通過調試選項卡更改內容,右鍵單擊然后更改它。 不幸的是,事情就是這樣。

出於逃避我的原因,明顯的“更改值/F2)允許您插入一個值,但不會將其持久化到基礎變量/屬性

但是...您可以在突出顯示變量或屬性的同時打開“評估表達式(Alt-f8)”窗口,然后在窗口中為其分配一個新值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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