40 likes | 158 Vues
The Distributed System Java Debugger (DSJDB) is inspired by the Distributed GDB debugger and aims to streamline debugging in distributed systems from a single machine. This tool provides clear insight into system behavior by answering crucial questions about what, where, and when events occur during program execution. Key challenges addressed include managing JDB interactions, timestamping data in a non-real-time network, and ensuring multithreading for optimal performance. The system includes a master component that organizes and manages client data, while the client component communicates through socket-based input/output streams.
E N D
DSJDB: Distributed System Java Debugger. Inspired from a paper about Distributed GDB debugger. • Goal: Handle the debugging of a distributed System from a single machine with clear information about: • What is happening ? • Where is it happening ? • When is it happening ? • Main difficulties : • Interacting JDB and the master. • The network is not real time -> Need to timestamp the data. • Everything should be multithreaded.
Global Overview of our Sytem Our master receive the Data, organize then according to their timestamp, and can send order to the clients. The clients JDB sends the Data to our master.
Overview of our systems: Client part We transmit the data to our master via input and output stream of a socket. Our work We get the input, output, and error thread of JDB with the class Process, in 3 different thread. The data received from JDB are “timestamped”. We have created the JDB process with the class RunCommand. Thus we can interact with it. JDB gets the Java Debugging Data Running Java program
Overview of our systems: Master part Master: Handle the clients and display their data. Orderator: Order the message from the clients according to their data of issue. Thread to output the data to the clients Thread that get the data from the clients