我有一个Django项目正在运行。我想提供一个用户通过Web应用程序交互式使用JDB来调试应用程序。我希望用户可以发出诸如
之类的命令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-Tutorial-Page: https://try.github.io/levels/1/challenges/1 用户可以与JDB实例交互的位置
提前致谢。
答案 0 :(得分:0)
我用pexpect模块完成了它。