Tôi đã đăng bài này trên programmers.stackexchange.com, nhưng tôi đã tìm ra nó có thể phù hợp hơn trên SO.Emacs: phương pháp gỡ lỗi python
Tôi sử dụng emacs cho tất cả các nhu cầu chỉnh sửa mã của mình. Thông thường, tôi sẽ sử dụng biên dịch Mx để chạy thử nghiệm của tôi mà tôi sẽ nói cho tôi khoảng 70% những gì tôi cần làm để giữ cho mã theo dõi tuy nhiên gần đây tôi đã tự hỏi làm thế nào nó có thể có thể sử dụng Mx pdb trên những dịp mà nó sẽ là tốt đẹp để đạt một breakpoint và kiểm tra mọi thứ.
Trong googling của tôi, tôi đã tìm thấy some things đề xuất rằng điều này hữu ích/có thể. Tuy nhiên tôi đã không quản lý để làm cho nó hoạt động theo cách mà tôi hoàn toàn hiểu được.
Tôi không biết nếu đó là sự kết hợp của buildout + appengine mà có thể làm cho nó khó khăn hơn nhưng khi tôi cố gắng làm điều gì đó như
M-x pdb
Run pdb (like this): /Users/twillis/projects/hydrant/bin/python /Users/twillis/bin/pdb /Users/twillis/projects/hydrant/bin/devappserver /Users/twillis/projects/hydrant/parts/hydrant-app/
đâu .../bin/python là người phiên dịch xây dựng làm cho với con đường thiết lập cho tất cả các quả trứng.
~/bin/pdb là một kịch bản đơn giản để gọi vào pdb.main sử dụng python phiên dịch hiện tại
HellooKitty:hydrant twillis$ cat ~/bin/pdb
#! /usr/bin/env python
if __name__ == "__main__":
import sys
sys.version_info
import pdb
pdb.main()
HellooKitty:hydrant twillis$
.../bin/devappserver là kịch bản dev_appserver rằng công thức buildout làm cho dự án gae và .../phần/vòi ứng dụng là đường dẫn đến app.yaml
tôi đầu tiên trình bày với một dấu nhắc
Current directory is /Users/twillis/bin/
C-c C-f
Không có gì xảy ra nhưng
012.351.HellooKitty:hydrant twillis$ ps aux | grep pdb
twillis 469 100.0 1.6 168488 67188 s002 Rs+ 1:03PM 0:52.19 /usr/local/bin/python2.5 /Users/twillis/projects/hydrant/bin/python /Users/twillis/bin/pdb /Users/twillis/projects/hydrant/bin/devappserver /Users/twillis/projects/hydrant/parts/hydrant-app/
twillis 477 0.0 0.0 2435120 420 s000 R+ 1:05PM 0:00.00 grep pdb
HellooKitty:hydrant twillis$
một cái gì đó đang xảy ra
C-x [space]
sẽ báo cáo rằng một breakpoint đã được thiết lập. Nhưng tôi không thể xoay xở để có được mọi thứ.
Có vẻ như tôi thiếu điều gì đó hiển nhiên ở đây. Tôi à?
Vì vậy, là gỡ lỗi tương tác trong các emacs đáng giá? gỡ lỗi tương tác một ứng dụng appengine của Google có thể là gì? Bất kỳ đề xuất về cách tôi có thể làm việc này?
đã xem tại đây: http://jjinux.blogspot.com/2008/05/python-debugging-google-app-engine-apps.html – systempuntoout
và tại đây http://code.google.com/p/googleappengine/issues/detail? id = 308 – systempuntoout