针对 Python 的远程调试:qdb

jopen 9年前

QDB是Python的一个调试器,使用户能够执行调试远程机器上的代码。 QDB被分割为可全部在单独硬件上运行的三个主要组成部分:

  • The client
  • The tracer
  • The server

The client is the user's interface to the debugger. All communication here is through a websocket connected to the server. This client could be any type of application. qdb provides a terminal client and emacs mode for this.

The tracer is the main debugging process. This is the actual code that the user wishes to debug. Communication here is through a socket sending pickle'd dictionaries representing only the valid messages sent to the server from the client. A single tracer may have multiple clients connected to it.

The server is the main routing station for messages between the clients and the tracer. The server is responsible for validating that the messages from the clients are well formed and routing them to the tracer. A single server may manage multiple tracers, so it is responsible for making sure that connections are routed to the proper place. The server can clean up tracer processes whose clients have become inactive if the server manager decides. The server may also impose authentication rules to allow or disallow some connections.

debugger

项目主页:http://www.open-open.com/lib/view/home/1414739541700