Workers Debug Server

Workers Tools Menu

Workers 4.0 applications are not compatible with the Workers 5.0 Debug Server application. The Workers 4.0 Debug Server application is packaged together with the Workers 5.0 Debug Server application, and can be accessed through the Application Manager's menu bar.

The Workers Debug Server plays an important part in developing applications efficiently with the framework. No matter how useful a framework is, if you are unable to easily access, view and navigate through your code at runtime, then the overall benefits that a framework brings will be greatly reduced. The Workers Debug Server aims to solve this problem.

Through the Debug Server, you can see what is happening within your Workers applications at runtime, whether they are running in the LabVIEW development environment, as an executable application, or as code running on a real-time cRIO over a local network.

Basic Principles

The Debug Server communicates to Workers applications via TCP data streams over a local network. The Debug Server acts as a TCP server and a Workers application acts as a TCP Client, through the loading of a Debug Client background task by use of the Debug Client Loader.vi contained in a Worker's Launcher VI. The Debug Server can accept multiple connections to Debug Clients over a user defined TCP Port.

IP Addresses and Ports

Once you start the Debug Server application, it will immediately start listening for incoming Debug Client connections on all IP addresses that are available on the platform that the Debug Server is running on (e.g. localhost and a network card, etc.). The port that the Workers 5.0 Debug Server will listen on is set by default to port 6892.

From within the Debug Server : Settings window, you can check the IP Addresses that the Debug Server is listening on. You also have the option to change the port that the Debug Server is listening on.

Debug Clients

A Debug Client is a background task that is loaded by the Debug Client Loader.vi within a Worker's Launcher VI.

Important

Never fork a Worker's Main Data Wire at the output of Debug Client Loader.vi. Use a single Debug Client Loader.vi for every Head Worker's application instance you load.

A Debug Client must be loaded before an application's Head Worker is launched. The Debug Client will then try to connect to a Debug Server periodically (every few seconds) until a successfully connection has been made. Debug Clients shutdown automatically whenever an application's Head Worker shuts down or is terminated. If connection to a Debug Server has been lost and the Workers application is still running, then the application's Debug Client will continue trying to connect periodically (every few seconds) to the Debug Server.

The Debug Client is a lightweight and resource friendly application, and can be included within your applications so that you can see what is happening within your applications when they are running, regardless of what target the Workers application is running on or in what format you have packaged your application.

Good to know

It does not matter if a Workers application is launched before or after the Debug Server. An application's debug data is stored within a Debug Client and remains persistent. This data will then be downloaded to the Debug Server upon a successful connection between a Debug Client and the Debug Server.

Last updated