Python 除錯命令

2022-06-01 20:24:08 字數 1732 閱讀 1728

用pdb除錯有多種方式可選:

1. 命令列啟動目標程式,加上-m引數,這樣呼叫myscript.py的話斷點就是程式的執行第一行之前

python -m pdb myscript.py

2. 在python互動環境中啟用除錯

>>> import pdb

>>> import mymodule

>>> pdb.run(『mymodule.test()』)

3. 比較常用的,就是在程式中間插入一段程式,相對於在一般ide裡面打上斷點然後啟動debug,不過這種方式是hardcode的

if __name__ == "__main__":

a = 1

import

pdbpdb.set_trace()

b = 2

c = a + b

print

(c)

然後正常執行指令碼,到了pdb.set_trace()那就會定下來,就可以看到除錯的提示符(pdb)了

常用的除錯命令

(pdb) l

497 pdb.set_trace()

498 base_data = {}

499 new_data = {}

500 try:

501 execfile(base_file_name,{},base_data)

502 -> execfile(new_file_name,{},new_data)

503 except:

504 logger.writelog(「error! load result log error!」)

505 print 「load cmp logs error!」

506 raise exception, 「load cmp logs error!」

507(pdb) b 504

breakpoint 4 at /home/jchen/regression/regressionlogcmp.py:504

(pdb) condition 4 a==3

(pdb) b

num type disp enb where

4 breakpoint keep yes at /home/jchen/regression/regressionlogcmp.py:504

stop only if a==3

(pdb) cl

clear all breaks? y

(pdb) disable 3

(pdb) b

num type disp enb where

3 breakpoint keep no at /home/jchen/regression/regressionlogcmp.py:505

(pdb) j 497

> /home/jchen/regression/regressionlogcmp.py(497)comparelog()

-> pdb.set_trace()

(pdb) a

_logger =

_base = ./base/mrm-8137.log

_new = ./new/mrm-8137.log

_caseid = 5550001

_tostepnum = 10

_cmpmap =

(pdb) p _new

u』./new/mrm-8137.log』

發現在命令列下除錯程式也是一件挺有意思的事情,記錄下來分享一下

python除錯命令

在python中使用pdb模組可以進行除錯 import pdb pdb.set trace 也可以使用python m pdb mysqcript.py這樣的方式 pdb 會自動停在第一行,等待除錯,這時你可以看看 幫助 pdb h 說明下這幾個關鍵 命令 color blue color siz...

Python偵錯程式命令

命令 功能h elp 顯示命令列表 help command 顯示command的文件 c ontinue 恢復程式執行 q uit 退出偵錯程式,不再執行任何 b reak number 在當前檔案的第number行設定乙個斷點 b path to file.py number 在當前檔案的第nu...

GDB除錯技巧,除錯命令

除錯時檢視依賴dsopidof tvm rpc server cat proc maps子程序除錯 1.vscode setupcommands output cpu simu dev bin ld library path ignorefailures false exec catch throw...