2016-11-10 105 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模块。