2016-11-10 115 views
2

我有一個Django項目正在運行。我想提供一個用戶通過Web應用程序交互式地使用JDB來調試應用程序。我希望用戶可以發出一個命令,如django網站上的交互式殼牌

stop in [function name] 
next 

而且他會得到迴應,然後可以繼續。

當我使用使用os.system然而,像這樣:

def AttachDebugger(pid): 
    # enable port forwarding 
    adb = ADB() 
    adb.set_adb_path('~/Library/Android/sdk/platform-tools/adb') 
    adb.forward_socket('tcp:8001', 'jdwp:' + pid) 
    # attaching 
    os.system('jdb -connect com.sun.jdi.SocketAttach:hostname=localhost,port=8001') 

那麼它開闢了在後臺JDB會話,但它凍結那裏的Python代碼,除了停止它不會返回控制通過CTRL + C。有什麼辦法可以提供這樣的互動會話嗎?

我想什麼有類似於Github上教程頁這裏: https://try.github.io/levels/1/challenges/1 ,用戶可以提前與加多寶實例交互

感謝。

回答

0

我完成了pexpect模塊。