針對 Python 的遠程調試:qdb
QDB是Python的一個調試器,使用戶能夠執行調試遠程機器上的代碼。 QDB被分割為可全部在單獨硬件上運行的三個主要組成部分:
- The client
- The tracer
- The server </ul>
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.