1. 使用 rpdb2.start_embedded_debugger , 注意要将参数 fAllowRemote 设置为 True
2.winpdb 前端 GUI 使用 python2
3.rpdb 兼容 python2,3
4.winpdb-1.4.8 下载 https://files.cnblogs.com/files/goyier/winpdb-1.4.8.tar.zip
- def start_embedded_debugger(
- pwd,
- fAllowUnencrypted = True,
- fAllowRemote = False,
- timeout = TIMEOUT_FIVE_MINUTES,
- fDebug = False
- ):
"""Use'start_embedded_debugger' to invoke the debugger engine in embedded
scripts. put the following line as the first line in your script:
import rpdb2; rpdb2.start_embedded_debugger(pwd)
This will cause the script to freeze until a debugger console attaches.
pwd - The password that governs security of client/server communication
fAllowUnencrypted - Allow unencrypted communications. Communication will
be authenticated but encrypted only if possible.
fAllowRemote - Allow debugger consoles from remote machines to connect.
timeout - Seconds to wait for attachment before giving up. If None,
never give up. Once the timeout period expires, the debuggee will
resume execution.
fDebug - debug output.
IMPORTNAT SECURITY NOTE:
USING A HARDCODED PASSWORD MAY BE UNSECURE SINCE ANYONE WITH READ
PERMISSION TO THE SCRIPT WILL BE ABLE TO READ THE PASSWORD AND CONNECT TO
THE DEBUGGER AND DO WHATEVER THEY WISH VIA THE 'EXEC' DEBUGGER COMMAND.
It is safer to use: start_embedded_debugger_interactive_password()
"""
- return __start_embedded_debugger(
- pwd,
- fAllowUnencrypted,
- fAllowRemote,
- timeout,
- fDebug
- )
- def start_embedded_debugger_interactive_password(
- fAllowUnencrypted = True,
- fAllowRemote = False,
- timeout = TIMEOUT_FIVE_MINUTES,
- fDebug = False,
- stdin = sys.stdin,
- stdout = sys.stdout
- ):
- if g_server is not None:
- return
- if stdout is not None:
- stdout.write('Please type password:')
- pwd = stdin.readline().rstrip('n')
- return __start_embedded_debugger(
- pwd,
- fAllowUnencrypted,
- fAllowRemote,
- timeout,
- fDebug
- )
参考:
- https://segmentfault.com/a/1190000000356018
- http://winpdb.org/docs/embedded-debugging/
来源: http://www.bubuko.com/infodetail-2647589.html