2009-03-19 29 views
5

Tôi muốn gỡ lỗi một dự án pythonTôi có thể thực hiện gỡ lỗi pdb ngay lập tức không?

Vấn đề là, tôi không biết nơi nào để thiết lập một điểm break,

những gì tôi muốn làm, là có thể gọi một phương thức

SomeClass(some_ctor_arguments).some_method()` 

và yêu cầu trình gỡ lỗi được kích hoạt ngay lập tức

Làm cách nào để làm điều đó?

tôi đã cố gắng pdb.run(string_command) nhưng nó dường như không làm việc đúng

>>> import pdb 
>>> import <some-package> 
>>> pdb.run(....) 
> <string>(1)<module>() 
(Pdb) s 
NameError: "name '<some-package>' is not defined" 

Trả lời

5

Tìm thấy nó ..

pdb.runcall(object.method) 
+0

Không biết bạn có thể làm điều đó, cảm ơn! – itsadok

+0

bạn cũng có thể bắt đầu pdb từ dòng lệnh để làm cho nó chạy trước bất cứ điều gì trong kịch bản của bạn. python -m pdb yourscript.py – Chad

4
pdb.set_trace() 

sẽ bắt đầu gỡ rối vào thời điểm này.

Đặt nó ở đầu phương thức bạn muốn gỡ lỗi.

Các vấn đề liên quan