2010-11-02 105 views
1

我想在Ubuntu上運行的Eclipse/PyDev中調試Google AppEngine項目。使用AppEngine開發服務器在PyDev中調試控制檯

調試通常工作正常,但我無法在調試控制檯中評估表達式。我相信控制檯正在啓動AppEngine服務器並暫停等待AppEngine開發服務器結束,因此我無法獲得評估提示。

這是在調試控制檯輸出:

pydev debugger: warning: psyco not available for speedups (the debugger will still work correctly, but a bit slower) 
pydev debugger: starting 
/home/eric/src/google_appengine/google/appengine/tools/appcfg.py:42: DeprecationWarning: the sha module is deprecated; use the hashlib module instead 
    import sha 
/home/eric/src/google_appengine/google/appengine/tools/dev_appserver_login.py:33: DeprecationWarning: the md5 module is deprecated; use hashlib instead 
    import md5 
INFO  2010-11-02 22:00:13,657 appengine_rpc.py:153] Server: appengine.google.com 
INFO  2010-11-02 22:00:13,679 appcfg.py:414] Checking for updates to the SDK. 
INFO  2010-11-02 22:00:14,010 appcfg.py:428] The SDK is up to date. 
WARNING 2010-11-02 22:00:14,011 datastore_file_stub.py:818] Could not read datastore data from /tmp/dev_appserver.datastore 
INFO  2010-11-02 22:00:14,080 dev_appserver_main.py:443] Running application manualent on port 8080: http://localhost:8080 

注意,它永遠不會打印在控制檯用於輸入表達式的端部的提示進行評估。

任何想法如何讓提示正常出現,以便我可以在調試過程中評估表達式?

回答

1

您是否考慮過使用AppEngine交互式控制檯來代替您的應用程序?

http://code.google.com/appengine/docs/python/tools/devserver.html#The_Development_Console

目前正在使用Python解釋這就是爲什麼你永遠不會得到一個提示(因爲它只是一個解釋,這是已在使用)的服務器;如果你想在服務器上下文中運行Python表達式,開發控制檯就是你想要使用的。

還有提供一個更「控制檯樣」版本的交互式Python會話從第三方開發商:http://con.appspot.com/console/help/about

+0

不知道它,謝謝 – 2010-11-02 22:20:22

0

嘗試使用遠程調試能力 - 我在Apache + mod_wsgi的碰上可能類似的問題和解決的它通過設置stdoutToServer=TruesterrToServer=True路由輸出到PyDev的遠程調試器:爲指針

from pydevsrc import pydevd;pydevd.settrace('192.168.2.8', stdoutToServer=True, stderrToServer=True)