2015-03-03 18 views
5

Tôi đang sử dụng trình gỡ rối Python đồ họa tương tác với ipdb dưới mui xe (trình gỡ rối đồ họa của Canopy). Kịch bản tôi đang làm việc trên có nhiều mô-đun đã nhập và một số cuộc gọi đến các chức năng tương ứng của chúng. Bất cứ khi nào tôi cố gắng chạy gỡ lỗi, thực thi sẽ bị kẹt ở đâu đó trong một cuộc gọi đến chức năng của mô-đun đã nhập (đặc biệt là tiến trình con). Hai câu hỏi chính của tôi là:Gỡ lỗi Python bằng Pdb

1) Có chạy chậm trong chế độ gỡ lỗi không? Có phải mã không thực sự bị kẹt, nhưng chỉ chạy với tốc độ chậm chạp?

2) Có cách nào để hoàn toàn vượt qua các bit mã và chạy chúng như thể tôi thậm chí không gỡ lỗi? Tôi muốn ngăn chặn trình gỡ lỗi đi sâu vào tiến trình con và chỉ thực thi nó như thể nó là một hoạt động bình thường.

Tôi có thể quăng trình gỡ lỗi đồ họa và thực hiện mọi thứ từ thiết bị đầu cuối, nhưng tôi muốn tránh điều đó nếu tôi có thể vì giao diện đồ họa thực sự thuận tiện và tiết kiệm rất nhiều việc gõ.

+0

yêu cầu của bạn có vẻ hơi mâu thuẫn - chạy mã python trong một trình gỡ rối, nhưng ngăn trình gỡ lỗi đi sâu vào các tiến trình con. Gợi ý: để tìm hiểu, nếu trình gỡ lỗi chậm quá nhiều (tôi không mong đợi điều đó), hãy thử một khi chạy nó từ thiết bị đầu cuối và bạn sẽ thấy. –

Trả lời

1
import pdb 
a = "aaa" 
pdb.set_trace() 
b = "bbb" 
c = "ccc" 
final = a + b + c 
print final 

đầu ra của bạn khi bạn chạy các mã sau đó nó sẽ bắt đầu gỡ lỗi và kiểm soát sẽ dừng lại sau khi a="aaa"

$ python abc.py 
(Pdb) p a 
'aaa' 
(Pdb) 

Cảm ơn, Shashi

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