【发布时间】:2016-11-10 18:15:31
【问题描述】:
我有一个 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 实例交互的地方
提前致谢。
【问题讨论】:
标签: django web interactive jdb