Python một dòng tiếp tục nếu

Mô-đun xác định trình gỡ lỗi mã nguồn tương tác cho các chương trình Python. Nó hỗ trợ thiết lập các điểm ngắt [có điều kiện] và một bước ở cấp dòng nguồn, kiểm tra khung ngăn xếp, liệt kê mã nguồn và đánh giá mã Python tùy ý trong ngữ cảnh của bất kỳ khung ngăn xếp nào. Nó cũng hỗ trợ gỡ lỗi sau khi chết và có thể được gọi dưới sự kiểm soát của chương trình

Trình sửa lỗi có thể mở rộng - nó thực sự được định nghĩa là lớp. Điều này hiện không có giấy tờ nhưng dễ hiểu bằng cách đọc nguồn. Giao diện mở rộng sử dụng các mô-đun và

Lời nhắc của trình gỡ lỗi là

python3 -m pdb myscript.py
3. Cách sử dụng điển hình để chạy chương trình dưới sự kiểm soát của trình gỡ lỗi là

>>> import pdb
>>> import mymodule
>>> pdb.run['mymodule.test[]']
> [0]?[]
[Pdb] continue
> [1]?[]
[Pdb] continue
NameError: 'spam'
> [1]?[]
[Pdb]

Đã thay đổi trong phiên bản 3. 3. Hoàn thành tab thông qua mô-đun có sẵn cho các lệnh và đối số lệnh, e. g. tên toàn cầu và địa phương hiện tại được cung cấp dưới dạng đối số của lệnh

python3 -m pdb myscript.py
5.

python3 -m pdb myscript.py
6 cũng có thể được gọi dưới dạng tập lệnh để gỡ lỗi các tập lệnh khác. Ví dụ

python3 -m pdb myscript.py

Khi được gọi dưới dạng tập lệnh, pdb sẽ tự động vào chế độ gỡ lỗi sau khi gỡ lỗi nếu chương trình đang được gỡ lỗi thoát ra bất thường. Sau khi gỡ lỗi hậu kỳ [hoặc sau khi thoát khỏi chương trình bình thường], pdb sẽ khởi động lại chương trình. Tự động khởi động lại duy trì trạng thái của pdb [chẳng hạn như điểm ngắt] và trong hầu hết các trường hợp sẽ hữu ích hơn là thoát khỏi trình gỡ lỗi khi thoát khỏi chương trình

Mới trong phiên bản 3. 2. _______0_______6 hiện chấp nhận tùy chọn

python3 -m pdb myscript.py
8 để thực thi các lệnh như thể được cung cấp trong tệp
python3 -m pdb myscript.py
9, xem.

Mới trong phiên bản 3. 7.

python3 -m pdb myscript.py
6 hiện chấp nhận tùy chọn
import pdb; pdb.set_trace[]
1 để thực thi các mô-đun tương tự như cách mà
import pdb; pdb.set_trace[]
2 thực hiện. Như với một tập lệnh, trình gỡ lỗi sẽ tạm dừng thực thi ngay trước dòng đầu tiên của mô-đun.

Cách sử dụng điển hình để đột nhập vào trình gỡ lỗi là chèn

import pdb; pdb.set_trace[]

tại vị trí bạn muốn đột nhập vào trình gỡ lỗi, sau đó chạy chương trình. Sau đó, bạn có thể xem qua mã theo câu lệnh này và tiếp tục chạy mà không cần trình gỡ lỗi bằng cách sử dụng lệnh

Mới trong phiên bản 3. 7. Tích hợp , khi được gọi với giá trị mặc định, có thể được sử dụng thay vì

import pdb; pdb.set_trace[]
5.

Cách sử dụng điển hình để kiểm tra một chương trình bị lỗi là

>>> import pdb
>>> import mymodule
>>> mymodule.test[]
Traceback [most recent call last]:
  File "", line 1, in 
  File "./mymodule.py", line 4, in test
    test2[]
  File "./mymodule.py", line 3, in test2
    print[spam]
NameError: spam
>>> pdb.pm[]
> ./mymodule.py[3]test2[]
-> print[spam]
[Pdb]

Mô-đun xác định các chức năng sau;

pdb. chạy[câu lệnh , toàn cầu=Không có , người dân địa phương=Không có]

Thực thi câu lệnh [được cung cấp dưới dạng chuỗi hoặc đối tượng mã] dưới sự kiểm soát của trình gỡ lỗi. Lời nhắc của trình gỡ lỗi xuất hiện trước khi bất kỳ mã nào được thực thi; . Các đối số cục bộ và cục bộ tùy chọn chỉ định môi trường trong đó mã được thực thi; . [Xem phần giải thích về chức năng tích hợp sẵn hoặc. ]

pdb. runeval[biểu thức , toàn cầu=Không có , người dân địa phương=Không có]

Đánh giá biểu thức [được cung cấp dưới dạng chuỗi hoặc đối tượng mã] dưới sự kiểm soát của trình gỡ lỗi. Khi trả về, nó trả về giá trị của biểu thức. Mặt khác, chức năng này tương tự như

pdb. cuộc gọi chạy[hàm , *args , **kwds]

Gọi hàm [một đối tượng hàm hoặc phương thức, không phải một chuỗi] với các đối số đã cho. Khi trả về, nó trả về bất cứ thứ gì mà lệnh gọi hàm trả về. Lời nhắc của trình gỡ lỗi xuất hiện ngay khi chức năng được nhập

pdb. set_trace[* , tiêu đề=Không có]

Nhập trình gỡ lỗi tại khung ngăn xếp cuộc gọi. Điều này rất hữu ích để mã hóa cứng một điểm dừng tại một điểm nhất định trong chương trình, ngay cả khi mã không được gỡ lỗi [e. g. khi một xác nhận không thành công]. Nếu được cung cấp, tiêu đề được in ra bàn điều khiển ngay trước khi bắt đầu gỡ lỗi

Đã thay đổi trong phiên bản 3. 7. Tiêu đề đối số chỉ từ khóa.

pdb. post_mortem[truy ngược=Không có]

Nhập gỡ lỗi hậu kỳ của đối tượng truy nguyên đã cho. Nếu không có dấu vết nào được cung cấp, nó sẽ sử dụng một trong những ngoại lệ hiện đang được xử lý [một ngoại lệ phải được xử lý nếu sử dụng mặc định]

pdb. chiều[]

Nhập gỡ lỗi sau khi xác định truy nguyên được tìm thấy trong

Các hàm

>>> import pdb
>>> import mymodule
>>> mymodule.test[]
Traceback [most recent call last]:
  File "", line 1, in 
  File "./mymodule.py", line 4, in test
    test2[]
  File "./mymodule.py", line 3, in test2
    print[spam]
NameError: spam
>>> pdb.pm[]
> ./mymodule.py[3]test2[]
-> print[spam]
[Pdb]
6 và là bí danh để khởi tạo lớp và gọi phương thức cùng tên. Nếu bạn muốn truy cập các tính năng khác, bạn phải tự làm việc này

lớp pdb. Pdb[completekey='tab' , stdin=Không có , stdout=Không , skip=Không , nosigint=Sai , readrc=Đúng]

là lớp gỡ lỗi

Các đối số Completekey, stdin và stdout được truyền cho lớp bên dưới;

Đối số bỏ qua, nếu được cung cấp, phải là một mẫu tên mô-đun kiểu toàn cầu có thể lặp lại. Trình gỡ lỗi sẽ không bước vào các khung bắt nguồn từ một mô-đun khớp với một trong các mẫu này.

Theo mặc định, Pdb đặt trình xử lý cho tín hiệu SIGINT [được gửi khi người dùng nhấn Ctrl-C trên bảng điều khiển] khi bạn đưa ra lệnh

import pdb; pdb.set_trace[]
3. Điều này cho phép bạn đột nhập lại vào trình gỡ lỗi bằng cách nhấn Ctrl-C. Nếu bạn muốn Pdb không chạm vào trình xử lý SIGINT, hãy đặt nosigint thành true

Đối số readrc mặc định là true và kiểm soát xem Pdb có tải hay không. các tệp pdbrc từ hệ thống tệp

Ví dụ gọi để kích hoạt theo dõi với bỏ qua

import pdb; pdb.Pdb[skip=['django.*']].set_trace[]

Tăng một

import pdb; pdb.Pdb[skip=['django.*']].set_trace[]
2 mà không có đối số

Mới trong phiên bản 3. 1. Đối số bỏ qua.

Mới trong phiên bản 3. 2. Đối số nosigint. Trước đây, trình xử lý SIGINT chưa bao giờ được đặt bởi Pdb.

Đã thay đổi trong phiên bản 3. 6. Đối số readrc.

chạy[câu lệnh , toàn cầu=Không có , locals=Không có]runeval[biểu thức , toàn cầu=Không có , locals=Không có]cuộc gọi chạy[hàm , *args , **kwds]set_trace[]

Xem tài liệu cho các chức năng được giải thích ở trên

Lệnh gỡ lỗi

Các lệnh được trình gỡ lỗi nhận dạng được liệt kê bên dưới. Hầu hết các lệnh có thể được viết tắt thành một hoặc hai chữ cái theo chỉ định; . g.

import pdb; pdb.Pdb[skip=['django.*']].set_trace[]
3 có nghĩa là có thể sử dụng
import pdb; pdb.Pdb[skip=['django.*']].set_trace[]
4 hoặc
import pdb; pdb.Pdb[skip=['django.*']].set_trace[]
5 để nhập lệnh trợ giúp [nhưng không phải là
import pdb; pdb.Pdb[skip=['django.*']].set_trace[]
6 hoặc
import pdb; pdb.Pdb[skip=['django.*']].set_trace[]
7, cũng không phải là
import pdb; pdb.Pdb[skip=['django.*']].set_trace[]
8 hoặc
import pdb; pdb.Pdb[skip=['django.*']].set_trace[]
9 hoặc
[Pdb] commands 1
[com] p some_variable
[com] end
[Pdb]
0]. Các đối số cho các lệnh phải được phân tách bằng khoảng trắng [dấu cách hoặc tab]. Các đối số tùy chọn được đặt trong dấu ngoặc vuông [_______25_______1] trong cú pháp lệnh; . Các lựa chọn thay thế trong cú pháp lệnh được phân tách bằng một thanh dọc [
[Pdb] commands 1
[com] p some_variable
[com] end
[Pdb]
2]

Nhập một dòng trống lặp lại lệnh cuối cùng đã nhập. Ngoại lệ. nếu lệnh cuối cùng là một lệnh, 11 dòng tiếp theo được liệt kê

Các lệnh mà trình gỡ lỗi không nhận ra được giả định là các câu lệnh Python và được thực thi trong ngữ cảnh chương trình đang được gỡ lỗi. Các câu lệnh Python cũng có thể được đặt trước bằng dấu chấm than [

[Pdb] commands 1
[com] p some_variable
[com] end
[Pdb]
4]. Đây là một cách hiệu quả để kiểm tra chương trình đang được sửa lỗi; . Khi một ngoại lệ xảy ra trong một câu lệnh như vậy, tên ngoại lệ được in nhưng trạng thái của trình gỡ lỗi không thay đổi

Trình gỡ lỗi hỗ trợ. Bí danh có thể có các tham số cho phép một mức độ thích ứng nhất định với ngữ cảnh được kiểm tra

Nhiều lệnh có thể được nhập trên một dòng, cách nhau bởi

[Pdb] commands 1
[com] p some_variable
[com] end
[Pdb]
5. [Một
[Pdb] commands 1
[com] p some_variable
[com] end
[Pdb]
6 không được sử dụng vì nó là dấu phân cách cho nhiều lệnh trong một dòng được chuyển đến trình phân tích cú pháp Python. ] Không có thông tin nào được áp dụng để phân tách các lệnh; . Một cách giải quyết khác cho các chuỗi có dấu chấm phẩy kép là sử dụng phép nối chuỗi ngầm định
[Pdb] commands 1
[com] p some_variable
[com] end
[Pdb]
8 hoặc
[Pdb] commands 1
[com] p some_variable
[com] end
[Pdb]
9

Nếu một tệp

python3 -m pdb myscript.py
9 tồn tại trong thư mục chính của người dùng hoặc trong thư mục hiện tại, nó sẽ được đọc với mã hóa
# Print instance variables [usage "pi classInst"]
alias pi for k in %1.__dict__.keys[]: print["%1.",k,"=",%1.__dict__[k]]
# Print instance variables in self
alias ps pi self
1 và được thực thi như thể nó đã được nhập tại dấu nhắc của trình gỡ lỗi. Điều này đặc biệt hữu ích cho bí danh. Nếu cả hai tệp đều tồn tại, tệp trong thư mục chính sẽ được đọc trước và các bí danh được xác định ở đó có thể bị ghi đè bởi tệp cục bộ

Đã thay đổi trong phiên bản 3. 11. ______0_______9 hiện được đọc với mã hóa

# Print instance variables [usage "pi classInst"]
alias pi for k in %1.__dict__.keys[]: print["%1.",k,"=",%1.__dict__[k]]
# Print instance variables in self
alias ps pi self
1. Trước đây, nó được đọc với mã hóa ngôn ngữ hệ thống.

Đã thay đổi trong phiên bản 3. 2. ______0_______9 hiện có thể chứa các lệnh tiếp tục gỡ lỗi, chẳng hạn như hoặc. Trước đây, các lệnh này không có tác dụng.

h[elp] [lệnh]

Không có đối số, in danh sách các lệnh có sẵn. Với một lệnh làm đối số, in trợ giúp về lệnh đó.

# Print instance variables [usage "pi classInst"]
alias pi for k in %1.__dict__.keys[]: print["%1.",k,"=",%1.__dict__[k]]
# Print instance variables in self
alias ps pi self
7 hiển thị tài liệu đầy đủ [chuỗi tài liệu của mô-đun]. Vì đối số lệnh phải là một mã định danh, nên phải nhập
# Print instance variables [usage "pi classInst"]
alias pi for k in %1.__dict__.keys[]: print["%1.",k,"=",%1.__dict__[k]]
# Print instance variables in self
alias ps pi self
9 để nhận trợ giúp về lệnh
[Pdb] commands 1
[com] p some_variable
[com] end
[Pdb]
4

ở đâu]

In dấu vết ngăn xếp, với khung gần đây nhất ở dưới cùng. Một mũi tên chỉ khung hiện tại, xác định ngữ cảnh của hầu hết các lệnh

d[sở hữu] [count]

Di chuyển số lượng khung hiện tại [mức mặc định] xuống trong theo dõi ngăn xếp [sang khung mới hơn]

u[p] [count]

Di chuyển số lượng khung hiện tại [mặc định] lên cấp trong theo dõi ngăn xếp [sang khung cũ hơn]

b[rắc] [[[tên tệp. ]lineno . hàm] [, điều kiện]]

Với một đối số lineno, hãy đặt dấu ngắt ở đó trong tệp hiện tại. Với đối số hàm, hãy đặt dấu ngắt ở câu lệnh thực thi đầu tiên trong hàm đó. Số dòng có thể được bắt đầu bằng tên tệp và dấu hai chấm, để chỉ định điểm ngắt trong tệp khác [có thể là điểm dừng chưa được tải]. Các tập tin được tìm kiếm trên. Lưu ý rằng mỗi điểm dừng được gán một số mà tất cả các lệnh điểm ngắt khác tham chiếu đến

Nếu có đối số thứ hai, thì đó là một biểu thức phải được đánh giá là true trước khi điểm dừng được vinh danh

Không có đối số, liệt kê tất cả các điểm ngắt, bao gồm cho từng điểm ngắt, số lần điểm ngắt đó bị tấn công, số lần bỏ qua hiện tại và điều kiện liên quan nếu có

tbreak [[[tên tệp. ]lineno . hàm] [, điều kiện]]

Điểm dừng tạm thời, được tự động xóa khi lần đầu tiên bị tấn công. Các đối số cũng giống như đối với

cl[ear] [tên tệp. vải lanh . số bp . ]

Với một tên tập tin. đối số lineno, xóa tất cả các điểm dừng tại dòng này. Với một danh sách các số điểm dừng được phân tách bằng dấu cách, hãy xóa các điểm dừng đó. Không có đối số, xóa tất cả các dấu ngắt [nhưng trước tiên hãy yêu cầu xác nhận]

vô hiệu hóa [bpnumber . ]

Vô hiệu hóa các điểm dừng được cung cấp dưới dạng danh sách các số điểm ngắt được phân tách bằng dấu cách. Vô hiệu hóa một điểm dừng có nghĩa là nó không thể khiến chương trình dừng thực thi, nhưng không giống như xóa một điểm dừng, nó vẫn nằm trong danh sách các điểm dừng và có thể được [-]bật lại

bật [bpnumber . ]

Kích hoạt các điểm dừng được chỉ định

bỏ qua số bp [đếm]

Đặt số lần bỏ qua cho số điểm dừng đã cho. Nếu số lượng bị bỏ qua, số lượng bỏ qua được đặt thành 0. Một điểm dừng sẽ hoạt động khi số lần bỏ qua bằng 0. Khi khác không, số lượng sẽ giảm đi mỗi khi đạt đến điểm dừng và điểm ngắt không bị vô hiệu hóa và mọi điều kiện liên quan đều được đánh giá là đúng

điều kiện số bp [điều kiện]

Đặt một điều kiện mới cho điểm dừng, một biểu thức phải được đánh giá là đúng trước khi điểm dừng được vinh danh. Nếu không có điều kiện, mọi điều kiện hiện có sẽ bị loại bỏ; . e. , điểm dừng được thực hiện vô điều kiện

lệnh [bpnumber]

Chỉ định danh sách các lệnh cho số điểm dừng bpnumber. Các lệnh tự xuất hiện trên các dòng sau. Nhập một dòng chỉ chứa

[Pdb] global list_options; list_options = ['-l']
[Pdb]
3 để kết thúc các lệnh. Một ví dụ

[Pdb] commands 1
[com] p some_variable
[com] end
[Pdb]

Để xóa tất cả các lệnh khỏi một điểm dừng, hãy nhập

[Pdb] global list_options; list_options = ['-l']
[Pdb]
4 và ngay lập tức theo sau nó với _____42_______3;

Không có đối số bpnumber,

[Pdb] global list_options; list_options = ['-l']
[Pdb]
4 đề cập đến tập hợp điểm dừng cuối cùng

Bạn có thể sử dụng lệnh breakpoint để khởi động lại chương trình của mình. Chỉ cần sử dụng lệnh hoặc hoặc bất kỳ lệnh nào khác để tiếp tục thực thi

Chỉ định bất kỳ lệnh nào tiếp tục thực thi [hiện tại , , , , và chữ viết tắt của chúng] sẽ chấm dứt danh sách lệnh [như thể lệnh đó được theo sau ngay lập tức bởi end]. Điều này là do bất cứ khi nào bạn tiếp tục thực thi [ngay cả với bước tiếp theo hoặc bước đơn giản], bạn có thể gặp phải một điểm ngắt khác—điểm ngắt này có thể có danh sách lệnh riêng, dẫn đến sự mơ hồ về danh sách nào sẽ thực thi

Nếu bạn sử dụng lệnh 'im lặng' trong danh sách lệnh, thông báo thông thường về việc dừng tại điểm dừng sẽ không được in. Điều này có thể được mong muốn đối với các điểm ngắt để in một thông báo cụ thể và sau đó tiếp tục. Nếu không có lệnh nào khác in bất cứ thứ gì, bạn sẽ không thấy dấu hiệu nào cho thấy điểm dừng đã đạt đến

bươc]

Thực hiện dòng hiện tại, dừng ở lần đầu tiên có thể [trong một chức năng được gọi hoặc trên dòng tiếp theo trong chức năng hiện tại]

tiếp theo]

Tiếp tục thực hiện cho đến khi đạt đến dòng tiếp theo trong hàm hiện tại hoặc nó trả về. [Sự khác biệt giữa và là dừng bên trong một hàm được gọi, trong khi thực thi các hàm được gọi ở [gần như] tốc độ tối đa, chỉ dừng ở dòng tiếp theo trong hàm hiện tại. ]

unt[il] [lineno]

Không có đối số, tiếp tục thực hiện cho đến khi đạt đến dòng có số lớn hơn số hiện tại

Với số dòng, tiếp tục thực hiện cho đến khi đạt đến dòng có số lớn hơn hoặc bằng số đó. Trong cả hai trường hợp, cũng dừng khi khung hình hiện tại trở lại

Đã thay đổi trong phiên bản 3. 2. Cho phép đưa ra số dòng rõ ràng.

trở lại]

Tiếp tục thực hiện cho đến khi hàm hiện tại trả về

tiếp tục]]

Tiếp tục thực thi, chỉ dừng khi gặp breakpoint

j[ump] lineno

Đặt dòng tiếp theo sẽ được thực thi. Chỉ khả dụng trong khung dưới cùng. Điều này cho phép bạn quay lại và thực thi lại mã hoặc nhảy về phía trước để bỏ qua mã mà bạn không muốn chạy

Cần lưu ý rằng không phải tất cả các bước nhảy đều được phép – ví dụ: không thể nhảy vào giữa vòng lặp hoặc ra khỏi mệnh đề

l[ist] [đầu tiên[, cuối cùng]]

Liệt kê mã nguồn cho tệp hiện tại. Không có đối số, liệt kê 11 dòng xung quanh dòng hiện tại hoặc tiếp tục liệt kê trước đó. Với đối số pdb1, hãy liệt kê 11 dòng xung quanh dòng hiện tại. Với một đối số, liệt kê 11 dòng xung quanh dòng đó. Với hai tham số, hãy liệt kê dãy đã cho;

Dòng hiện tại trong khung hiện tại được biểu thị bằng pdb2. Nếu một ngoại lệ đang được gỡ lỗi, thì dòng mà ngoại lệ ban đầu được đưa ra hoặc lan truyền được biểu thị bằng pdb3, nếu nó khác với dòng hiện tại

Mới trong phiên bản 3. 2. Dấu đánh dấu pdb3.

ll . danh sách dài

Liệt kê tất cả mã nguồn cho chức năng hoặc khung hiện tại. Các dòng thú vị được đánh dấu là dành cho

Mới trong phiên bản 3. 2

một[rgs]

In danh sách đối số của hàm hiện tại

p biểu thức

Đánh giá biểu thức trong ngữ cảnh hiện tại và in giá trị của nó

Ghi chú

pdb6 cũng có thể được sử dụng, nhưng không phải là lệnh gỡ lỗi — lệnh này thực thi hàm Python

pp biểu thức

Giống như lệnh, ngoại trừ giá trị của biểu thức được in đẹp bằng mô-đun

biểu thức là gì

In loại biểu thức

nguồn biểu thức

Cố gắng lấy mã nguồn cho đối tượng đã cho và hiển thị nó

Mới trong phiên bản 3. 2

hiển thị [biểu thức]

Hiển thị giá trị của biểu thức nếu nó thay đổi, mỗi lần dừng thực thi trong khung hiện tại

Không có biểu thức, hãy liệt kê tất cả các biểu thức hiển thị cho khung hình hiện tại

Mới trong phiên bản 3. 2

không hiển thị [biểu thức]

Không hiển thị biểu thức nữa trong khung hiện tại. Không có biểu thức, xóa tất cả các biểu thức hiển thị cho khung hình hiện tại

Mới trong phiên bản 3. 2

tương tác

Bắt đầu trình thông dịch tương tác [sử dụng mô-đun] có không gian tên chung chứa tất cả các tên [toàn cầu và cục bộ] được tìm thấy trong phạm vi hiện tại

Mới trong phiên bản 3. 2

bí danh [tên [lệnh]]

Tạo bí danh được gọi là tên thực thi lệnh. Lệnh không được đặt trong dấu ngoặc kép. Các tham số có thể thay thế có thể được biểu thị bằng

python3 -m pdb myscript.py
01,
python3 -m pdb myscript.py
02, v.v., trong khi
python3 -m pdb myscript.py
03 được thay thế bằng tất cả các tham số. Nếu không có lệnh nào được đưa ra, bí danh hiện tại của tên sẽ được hiển thị. Nếu không có đối số được đưa ra, tất cả các bí danh được liệt kê

Các bí danh có thể được lồng vào nhau và có thể chứa bất kỳ thứ gì có thể được nhập hợp pháp tại dấu nhắc pdb. Lưu ý rằng các lệnh pdb nội bộ có thể bị ghi đè bởi các bí danh. Một lệnh như vậy sau đó được ẩn cho đến khi bí danh bị xóa. Bí danh được áp dụng đệ quy cho từ đầu tiên của dòng lệnh;

Ví dụ, đây là hai bí danh hữu ích [đặc biệt khi được đặt trong tệp

python3 -m pdb myscript.py
9]

# Print instance variables [usage "pi classInst"]
alias pi for k in %1.__dict__.keys[]: print["%1.",k,"=",%1.__dict__[k]]
# Print instance variables in self
alias ps pi self

bí danh tên

Xóa bí danh đã chỉ định

! tuyên bố

Thực thi câu lệnh [một dòng] trong ngữ cảnh của khung ngăn xếp hiện tại. Dấu chấm than có thể được bỏ qua trừ khi từ đầu tiên của câu lệnh giống với lệnh trình gỡ lỗi. Để đặt một biến toàn cục, bạn có thể đặt trước lệnh gán một câu lệnh trên cùng một dòng, e. g

[Pdb] global list_options; list_options = ['-l']
[Pdb]

chạy [args . ]khởi động lại [args . ]

Khởi động lại chương trình Python đã sửa lỗi. Nếu một đối số được cung cấp, nó sẽ được chia nhỏ và kết quả được sử dụng làm đối số mới. Lịch sử, điểm dừng, hành động và tùy chọn trình gỡ lỗi được giữ nguyên. là một bí danh cho

từ bỏ]

Thoát khỏi trình gỡ lỗi. Chương trình đang thực hiện bị hủy bỏ

gỡ lỗi

Nhập trình gỡ lỗi đệ quy thực hiện từng bước thông qua đối số mã [là một biểu thức hoặc câu lệnh tùy ý sẽ được thực thi trong môi trường hiện tại]

đánh lại

In giá trị trả về cho lần trả về cuối cùng của hàm

chú thích

Việc một khung có được coi là bắt nguồn từ một mô-đun nhất định hay không được xác định bởi

python3 -m pdb myscript.py
10 trong toàn cầu khung

Chủ Đề