Làm thế nào để gỡ lỗi chương trình python trong emacs?Gỡ lỗi chương trình python trong emacs
tôi sử dụng python-mode.el
tôi nhận được tài liệu tham khảo như nhập khẩu pdb; pdb.set_trace();
nhưng không chắc chắn cách sử dụng.
Làm thế nào để gỡ lỗi chương trình python trong emacs?Gỡ lỗi chương trình python trong emacs
tôi sử dụng python-mode.el
tôi nhận được tài liệu tham khảo như nhập khẩu pdb; pdb.set_trace();
nhưng không chắc chắn cách sử dụng.
Nhập M-x cd
để thay đổi thư mục thành vị trí của chương trình bạn muốn gỡ lỗi. Loại M-x pdb
. Bạn sẽ được nhắc với Run pdb (like this): pdb
. Nhập tên chương trình (ví dụ: test.py
).
Tại dấu nhắc (Pdb)
, nhập help
để tìm hiểu cách sử dụng pdb.
Ngoài ra, bạn có thể đặt
import pdb
pdb.set_trace()
ngay trong chương trình của bạn (ví dụ test.py
). Bây giờ, hãy nhập M-x shell
để nhận lời nhắc trình bao. Khi bạn chạy chương trình của mình, bạn sẽ bị bán vào pdb
tại thời điểm pdb.set_trace()
được thực hiện.
Đối với tôi, tôi cần phải thay thế mặc định "pdb" với
python -m pdb myscript.py
Các realgud
gói (có sẵn từ MELPA) hỗ trợ PDB (trong một gazillion gỡ rối khác), và có một loạt các tính năng gọn gàng mà PDB của Emac không có.
Điều tôi thích nhất là chế độ phím tắt. Khi bạn bắt đầu gỡ lỗi chương trình, bạn có thể nhấn n
, s
, c
v.v. ngay trong cửa sổ nguồn, thay vì phải nhập các lệnh này trong bộ đệm PDB. Nó cũng hỗ trợ keybindings kiểu Visual-Studio với các phím chức năng (f10
, f11
, f5
, v.v.).
Sau khi cài đặt RealGUD, bạn cần chạy M-x load-feature realgud
để tải nó và bạn có thể bắt đầu pdb
với M-x realgud:pdb
.
Tôi nên thêm rằng tôi có xung đột lợi ích nhỏ. Tôi tìm thấy gói gọn gàng đến nỗi tôi bắt đầu hack vào nó, và bây giờ trở thành người đồng bảo trì. –
Sử dụng pdbtrack (thông qua trình bao M-x) có lẽ là giải pháp tốt hơn. Việc kiểm soát thư mục và môi trường dễ dàng hơn nhiều theo cách đó. –
@matt với Mx pdb bạn có thể đặt điểm ngắt trong tệp nguồn và con trỏ sẽ hiển thị vị trí hiện tại của việc thực hiện khi bạn thực hiện: http://twistedmatrix.com/documents/current/core/howto/debug-with-emacs .html –
Hướng dẫn bằng đồ họa có thể được tìm thấy tại đây: http://sunnyeves.blogspot.com/2011/04/debugging-python-on-emacs-ide.html – gt6989b