CDFControl now has the ability to start and stop CDF traces on remote machines. These remote machines do not have to be running XenApp, but can be running other Citrix products such as the Application Streaming Client, or XenDesktop etc. CDF tracing is only available on Microsoft Windows machines, and therefore the remote tracing feature will not work if targeted against a non-Windows machine, such as Linux.

Next generation CDFControl

  1. Check the desired tracing modules in the main application window
  2. Click on Remote Tracing from the Tools menu to launch the Remote Tracing dialog
  3. Enter remote machine's hostname or IP address, and click on Add to add that machine to the Selected Target(s) list
    (You can also click the Enumerate button, which will enumerate machines on the network and display them on the listbox to the left. You can then use the >> button, to move enumerated machines to the Selected Target(s) list)
  4. Once all the desired machines are added to the Selected Target(s) list, clicking on either Start or Stop, will perform that operation against all selected targets (i.e. Start tracing on all selected machines, or stop tracing on all selected machines).
  5. Trace status will be displayed in the Status view window
  6. If Collect trace file after trace is stopped is checked, then the resulting trace file from each selected target is copied to the local machine when stopping the trace. There will be a directory created where CDFControl is being run from, called CDFControl_Remote_Traces, which will store the trace files. Each file will be uniquely named so that they will not overwrite each other. Keep in mind that large trace files will take time to copy over the network
Once Start or Stop has been pressed, it cannot be cancelled until the start/stop operation either completes or encounters a failure. This is to avoid corrupting any data that is in progress. You can check the Event Viewer's Application Log on the remote machine as well, for notification of the trace status, such as to see if the trace has been started or stopped successfully. A CDFRemoteSvcMsg.dll will be copied to the remote system's temp directory, so that the Event Viewer will be able to display CDFControl events normally. This file (CDFRemoteSvcMsg.dll) only contains messages for the Event Log, and may be deleted at any time.


After configuring all the desired remote targets, you can export that list so that it can be imported for future use. This way you don't have to manually enter server names each time when doing remote tracing.

To import a server list, do the following:
  1. Click on the File menu in the Remote Tracing dialog
  2. Click on Import Server List to browse to a previously saved Server List (*.sl) file, which will import the server list into the Selected Target(s) list

To export a server list, do the following:
  1. Click on the File menu in the Remote Tracing dialog
  2. Click on Export Server List to save the servers from the Selected Target(s) list to a Server List (*.sl) file


Sometimes you might run CDFControl on a workstation without any Citrix products installed, and therefore there will be no available trace providers to select from. In this case, you won't be able to trace any local Citrix providers (since there aren't any) - however, you can still trace remote machines (with Citrix providers installed)
  1. Simply right-click on the main provider/module selection window, or go to View, and then click Remote Providers
  2. This will launch the following dialog:

Next generation CDFControl

  1. Enter the hostname or IP of the remote machine from which you want to extract its available Citrix providers, and click OK
  2. If prompted to authenticate to remote machine, enter appropriate credentials to connect
  3. This will connect to the remote machine, and then display its providers in the main provider/module window
  4. You can then use the custom trace categories, or manually select the desired Citrix trace providers, and attempt to start or stop a remote trace. The selected providers/modules will attempt to get traced on the target machine; however if a specific provider/module does not exist on the target machine, then it simply won't get traced - but the ones that do exist, will get traced
  5. This is because not all target machines might have the same Citrix products installed