Chapter 5 . Troubleshooting

This chapter provides information to help you diagnose problems with your MessageQ application.


Event Watcher

MessageQ for Windows NT provides an event logging process that displays and captures informational, warning, and error messages that can occur during processing. The MessageQ Event Watcher, DMQLOG32, is a windows program that displays the most recent 100 events logged in a scrolling window and directs events into a file. The messages describe the condition to help you understand failures in the MessageQ environment. Log messages contain the following types of information:

To use the Event Watcher, follow these steps:

  1. Set the Logging configuration options to enable tracing (see Tracing).

  2. Double-click the MessageQ Event Watcher icon in the MessageQ for Windows NT program group.

The default file, dmqlog.log, is located in the directory in which you installed MessageQ for Windows NT. New output is appended to the end of the file, so the file may grow quite large (particularly if tracing is enabled). Remember to delete the file when the events it contains are no longer useful. The Event Watcher allows you to redirect output at run time into a different file by choosing the File... option from the System menu.

When starting a MessageQ group, log output must be directed to the Event Watcher to be saved. Specifying a log file when starting the GCP will automatically direct the output to the Event Watcher, regardless of the file name you provided. Event Watcher is automatically started by the GCP if a copy is not already running.

The Client Library Server (CLS) is integrated with the MessageQ for Windows NT Event Watcher. All CLS server initialization and client connect and disconnect events are logged to the Event Logger, regardless of how CLS was started.


Tracing

MessageQ for Windows NT provides an execution tracing program for diagnostic purposes. Tracing produces a time-stamped output file showing the sequence of MessageQ function calls and return status codes. Tracing output is sent to Event Watcher. Because tracing generates a high volume of output, you should enable tracing only for diagnostic purposes in the event of a problem. The following levels of tracing are provided:
Level Description Logfile

API

Traces API calls and provides information on the messages sent or received

Event Watcher logfile (typically, dmqlog.log)

Internal

Traces execution of the lower software layers

Event Watcher logfile (typically, dmqlog.log)

CLS

Traces DMQCL.DLL execution events

DMQCLDLL.LOG

Enabling Tracing

To enable tracing at MessageQ startup, set the environment variable (prior to invoking the MessageQ Group Control Process), as follows:

SET PAMS_TRACE=value
SET DMQIPI_TRACE=value
SET DMQCL_TRACE=value

where value is an arbitrary value (such as 1).

Disabling Tracing

To disable tracing, set the environment variables to a null value as follows:

SET PAMS_TRACE=
SET DMQIPI_TRACE=
SET DMQCL_TRACE=

You can check your environment variables at any time by entering SET at the command line.