Python 除錯 第二種debug

2021-08-21 12:27:43 字數 3309 閱讀 5504

#coding=utf-8

import pdb

def combine(s1,s2):

s3 = s1 + s2 + s1

s3 = '"' + s3 +'"'

return s3

a = "aaa"

pdb.set_trace()

b = "bbb"

c = "ccc"

final = combine(a,b)

print(final)

# 《1 顯示**》

# l---->能夠顯示當前除錯過程中的**,其實l表示list列出的意思

#如下,途中,-> 指向的地方表示要將要執行的位置

# 2 a = "aaa"

# 3 pdb.set_trace()

# 4 b = "bbb"

# 5 c = "ccc"

# 6 pdb.set_trace()

# 7 -> final = a + b + c

# 8 print final

# 《2 執行下一行**》

# n---->能夠向下執行一行**,然後停止執行等待繼續除錯 n表示next的意思

# 《3 檢視變數的值》

# p---->能夠檢視變數的值,p表示prit列印輸出的意思

#例如:

# p name 表示檢視變數name的值

# 《4 將程式繼續執行》

# c----->讓程式繼續向下執行,與n的區別是n只會執行下面的一行**,而c會像python ***x.py一樣 繼續執行不會停止;c表示continue的意思

# 《5 set_trace()》

# 如果程式中有多個set_trace(),那麼能夠讓程式在使用c的時候停留在下乙個set_trace()位置處

# 《6 設定斷點》

# b---->設定斷點,即當使用c的時候,c可以在遇到set_trace()的時候停止,也可以在遇到標記有斷點的地方停止;b表示break的意思

#例如:

#b 11 在第11行設定斷點,注意這個11可以使用l來得到

# (pdb) l

# 4 s3 = s1 + s2 + s1

# 5 s3 = '"' + s3 +'"'

# 6 return s3

# 7 a = "aaa"

# 8 pdb.set_trace()

# 9 -> b = "bbb"

# 10 c = "ccc"

# 11 final = combine(a,b)

# 12 print final

# [eof]

# (pdb) b 11

# breakpoint 1 at /users/wangmingdong/desktop/test3.py:11

# (pdb) c

# > /users/wangmingdong/desktop/test3.py(11)()

# -> final = combine(a,b)

# (pdb) l

# 6 return s3

# 7 a = "aaa"

# 8 pdb.set_trace()

# 9 b = "bbb"

# 10 c = "ccc"

# 11 b-> final = combine(a,b)

# 12 print final

# 《7 進入函式繼續除錯》

# s---->進入函式裡面繼續除錯,如果使用n表示把乙個函式的呼叫當做一條語句執行過去,而使用s的話,會進入到這個函式 並且停止

#例如# (pdb) l

# 6 return s3

# 7 a = "aaa"

# 8 pdb.set_trace()

# 9 b = "bbb"

# 10 c = "ccc"

# 11 b-> final = combine(a,b)

# 12 print final

# [eof]

# (pdb) s

# --call--

# > /users/wangmingdong/desktop/test3.py(3)combine()

# -> def combine(s1,s2):

# (pdb) l

# 1 import pdb

# 2

# 3 -> def combine(s1,s2):

# 4 s3 = s1 + s2 + s1

# 5 s3 = '"' + s3 +'"'

# 6 return s3

# 7 a = "aaa"

# 8 pdb.set_trace()

# 9 b = "bbb"

# 10 c = "ccc"

# 11 b final = combine(a,b)

# (pdb)

# 《8 檢視傳遞到函式中的變數》

# a---->呼叫乙個函式時,可以檢視傳遞到這個函式中的所有的引數;a表示arg的意思

#例如:

# (pdb) l

# 1 #coding=utf-8

# 2 import pdb

# 3

# 4 -> def combine(s1,s2):

# 5 s3 = s1 + s2 + s1

# 6 s3 = '"' + s3 +'"'

# 7 return s3

# 8

# 9 a = "aaa"

# 10 pdb.set_trace()

# 11 b = "bbb"

# (pdb) a

# s1 = aaa

# s2 = bbb

# 《9 執行到函式的最後一步》

# r----->如果在函式中不想一步步的除錯了,只是想到這個函式的最後一條語句那個位置,比如return語句,那麼就可以使用r;r表示return的意思

Qt 第二種執行緒

流程 工程目錄 新增在這裡作為全域性 namespace ui class mywidget public qwidget endif mywidget h mythread.cpp include mythread.h include 待會用到sleep函式 include mythread my...

分頁的第二種方式

優點 1.十分簡潔 缺點 1.不能及時響應資料庫中變化 2.重複查詢較多,每獲取乙個屬性 總頁數 都要查詢資料庫 將某一頁的資料直接封裝在此類中,調乙個方法便可獲取資料。public class fengye 計算頁數 public int gettotalpages int count,int p...

ios第二種post請求

請求部分 nsurl url nsurl urlwithstring porturl gt ajax validate5 2.建立乙個網路請求,分別設定請求方法 請求引數 nsmutableurlrequest request nsmutableurlrequest requestwithurl u...