python調試
⑴ python調試,急!
buff從哪裡來的,buff不會是文件的長度,可能是文件內容的字元串或一個列表,我猜是一個列表,裡面有數字,改成這樣試試。
evilbuff[offset + i] = chr(operator.xor(ord(str(buff[i])) , 0x25))
ord(buff[i])
ord的參數是字元,你給他傳遞了一個整數了,檢查一下buff[i]是什麼吧。
TypeError: ord() expected string of length 1, but int found已經說得很清楚了。
我用eclipse+pydev調試,裝一下吧
好的工具事半功倍
⑵ 怎麼調試python腳本
打開pycharm community 2019.1軟體,創建一個項目。
創建一個py後綴的文件作為示範,文件名自己定義。
相關推薦:《Python基礎教程》
編寫代碼,然後右鍵點擊進行運行,查看一下是否有問題。
點擊右上角的蟲子圖標,然後下面會有控制面板出來,點擊Debugger,然後我們在行號那裡選擇要調試哪一行,點擊就會有紅點。
再點擊蟲子圖標,這個時候就可以開始調試了,點擊step over或者快捷鍵f8就可以調試了。
但是我們可以看出就直接跳過函數內部,對於函數內部的調試,我們則需要點擊step into,或者快捷鍵f7,這樣才可以調試內部。
⑶ 調試python代碼的方法有哪些
本文討論在沒有方便的IDE工具可用的情況下,使用pdb調試python程序
源碼例子
例如,有模擬稅收計算的程序:
#!/usr/bin/python
def debug_demo(val):
if val <= 1600 :
print "level 1"
print 0
elif val <= 3500 :
print "level 2"
print (val - 1600) * 0.05
elif val <= 6500 :
print "level 3"
print (val - 3500) * 0.10 + (3500-1600) * 0.05
else:
print "level 4"
print (val - 6500) * 0.20 + (6500-3500) * 0.10 + (3500-1600) * 0.05
#~def debug_demo
if __name__ == "__main__":
debug_demo(4500)
debug_demo函數計算4500的入賬所需的稅收。
如何調試?
1.加入斷點
在需要插入斷點的地方,加入紅色部分代碼:如果_DEBUG值為True,則在該處開始調試(加入_DEBUG的原因是為了方便打開/關閉調試)。
#!/usr/bin/python
_DEBUG=True
def debug_demo(val):
if _DEBUG == True:
import pdb
pdb.set_trace()
if val <= 1600 :
print "level 1"
print 0
elif val <= 3500 :
print "level 2"
print (val - 1600) * 0.05
elif val <= 6500 :
print "level 3"
print (val - 3500) * 0.10 + (3500-1600) * 0.05
else:
print "level 4"
print (val - 6500) * 0.20 + (6500-3500) * 0.10 + (3500-1600) * 0.05
#~def debug_demo
if __name__ == "__main__":
debug_demo(4500)
2.開始運行調試
運行程序./debug_demo.py,得到
> /usr/local/qspace/user_network/debug_demo.py(7)debug_demo()
-> if val <= 1600 :
(Pdb)
-> val <= 1600 : 指示當前執行的語句,(Pdb)等待你的調試指令. pdb的指令很豐富,輸入h指令可以查看指令的使用方法。下面簡單介紹常用指令:
查看代碼上下文,l(小寫L)
(Pdb) l
2 _DEBUG=True
3 def debug_demo(val):
4 if _DEBUG == True:
5 import pdb
6 pdb.set_trace()
7 -> if val <= 1600 :
8 print "level 1"
9 print 0
10 elif val <= 3500 :
11 print "level 2"
12 print (val - 1600) * 0.05
(Pdb)
左邊是行號,右邊是代碼正文。
監視變數:p 變數名
(Pdb) p val
4500
(Pdb)
單步執行: n
-> elif val <= 3500 :
(Pdb) l
5 import pdb
6 pdb.set_trace()
7 if val <= 1600 :
8 print "level 1"
9 print 0
10 -> elif val <= 3500 :
11 print "level 2"
12 print (val - 1600) * 0.05
13 elif val <= 6500 :
14 print "level 3"
15 print (val - 3500) * 0.10 + (3500-1600) * 0.05
加入斷點:b 行號
(Pdb) b 14
運行到斷點: c
(Pdb) c
> /*****
-> print "level 3"
(Pdb) l
9 print 0
10 elif val <= 3500 :
11 print "level 2"
12 print (val - 1600) * 0.05
13 elif val <= 6500 :
14 B-> print "level 3"
15 print (val - 3500) * 0.10 + (3500-1600) * 0.05
16 else:
17 print "level 4"
18 print (val - 6500) * 0.20 + (6500-3500) * 0.10 + (3500-1600) * 0.05
19
執行到函數返回前: r
(Pdb) r
level 3
195.0
--Return--
> /****()
->None
-> print (val - 3500) * 0.10 + (3500-1600) * 0.05
(Pdb)
說明:
pdb還有很多其他很多有用的指令,讀者可以自行探索。輸入h,h 命令。就可以得到命令的詳細幫助。
不過,我個人認為一般無需啟動這種調試方法,一般使用日誌輸出進行調試即可,除非遇到了非常微妙的錯誤。這時,單步調試的威力便顯示出來了
⑷ 如何在 Python 中使用斷點調試
在eclipse下可以單步調試python的方法:
1、右鍵單擊標尺欄添加斷點
2、將滑鼠移至需要添加斷點的代碼行,使用快捷鍵 Ctrl+F10,在彈出的菜單欄中選擇 」Add Breakpoint」 添加斷點。
添加好斷點後,選擇 Debug As -> Python Run 啟動調試器,彈出一個對話框,詢問是否切換到調試器透視圖,單擊 Yes,即顯示調試模式。
3、調試器透視圖
程序調試過程中,常用的幾個快捷鍵如下:
單步跳入 Step Into: F5
單步跳過 Step Over: F6
單步返回 Step Return: F7
重新開始 Resume: F8
在控制台 Console 中,顯示出斷點之前代碼的執行結果。如果要查看某個變數的值,以變數 a 為例,可以手動在控制台中鍵入一行代碼 」print 『a is:』, a」,再連續按兩次 Enter 鍵,即顯示出變數的值。
⑸ 如何進行Python 調試器調試
本文首先介紹一下
Python 調試器
的歷史,總結了Python的強大之處和不足並且指出了與其他腳本語言,相比,以及Python語言與其他語言的優勢所在,下面進行學習介紹說明。
PyDev 就能顯示出一個超鏈接,這樣您可以在導入庫或函數的源代碼之間導航。請注意,為了在您自己的源代碼中跨模塊使用該特性(從一個模塊鏈接到另一個模塊),必須修改PYTHONPATH 環境變數。
在其中加入這些模塊,這樣 PyDev 就可以找到它們了。
Python 調試器
是最近才加入 PyDev 插件中的。要使用調試器,可在Python編輯器中想中斷的代碼行的左側點擊,設置斷點。
我在 feedparser.py 的 1830 行處設置了斷點。然後在 Navigator 視圖中選擇這個Python模塊,點擊右鍵,選擇「PythonDebug...」。這時將顯示與前面相似的一個啟動配置窗口。點擊 Debug 進入 Debug 視角,同時啟動調試器。 左上角的 Debug 視圖顯示當前正在執行的進程和線程,右上角的 Variables 視圖顯示當前運行域中的所有變數。
Python編輯器會顯示調試器目前停在哪條語句上,同時所有的輸出信息都顯示與 Console 視圖中。調試器可以通過 Debug 視圖底部的按鈕或 Run 菜單進行控制。 要運行剛剛在 Eclipse 中創建的啟動器,可選擇 Run External ToolspythonInterpreter。
Python解釋器的輸出顯示在 Console 視圖中。
⑹ python 怎麼用ide調試
方法很多,你打開Python IDE(GUI)後,界面跟cmd命令行很類似,如果你寫的程序很復雜當然不適合這種方式了,可以直接-------File-NewFile,這個時候就會出來一個Untitled窗口,你在這里開始寫程序就行了,最後保存下,就是一個**.py的python程序了,至於怎麼運行它,你可以打開這個**.py文件,直接按F5就行,也可以在cmd窗口裡用python **.py都可以
⑺ python如何一步步調試
裝個Pycharm
1 添加斷點
2 Debug下運行代碼:
3 F8:進行下一步操作
F7 :跳入下一個方法中
⑻ python語言中如何調試程序
把關鍵的中間變數print出來,看看是不是和預期的一樣。
⑼ python 為什麼不能一步步手動調試
python的IDLE有調試功能
IDLE的調試功能比較初級,可以用下其它IDE的調試功能如pycharm
IDLE的調試模式:
圖一是打開調試模式的按鈕
圖二是打開的調試界面
圖三是當你運行任何一個運行腳本時,就會進行調試
單步調試什麼的都在那個面板上,斷點要在腳本文件里右鍵打
⑽ vscode 怎麼設置python的斷點調試
你這是更新源連接失敗啊。別問我怎麼設置國內源。