HOWTO: Use Debug DLLs to Troubleshoot MSMQ Issues

ID: Q191541

The information in this article applies to:

SUMMARY

This article describes how to use Microsoft Message Queue Server (MSMQ) Debug DLLs to troubleshoot complex message queuing issues.

MORE INFORMATION

The use of the MSMQ Debug DLLs require some of the Microsoft Visual C++ debug DLLs. These DLLs are not supplied with MSMQ. However, you can obtain the DLLS by installing a copy of Visual C++ on the computer prior to using the MSMQ debug DLLs.

Use the following steps to run the debug MSMQ Service:

1. Make sure the MSMQ Software Development Kit (SDK) component is

   installed.

2. Stop the MSMQ service and driver. For example:

      net stop msmq
      net stop mqac

3. Go to the debug folder located in the SDK folder. By default the
   location is:

      c:\program files\msmq\sdk\debug

4. Run the Mqsvc.exe program.

5. A debug window appears, in which debug messages will be displayed by the

   MSMQ service.

6. If you are running the debug MSMQ service for the first time on the
   computer, go to the following:

      * Setup / Set State dialog, and press the Check All button.

      * Setup / Set Location dialog, and select the Output to Debug Window
       check box.

7. If you want to keep the debug information in a file, you can either copy
   or paste the text from the debug window, or set a file name in the Set
   Location dialog box.

8. To run the retail service again, quit the Mqsvc.exe program and run the
   following:

      net start msmq


You can also try to copy the debug DLLs to the Primary Enterprise Controller (PEC) and clients and then start the Queue Manager (QM) as a user process. A debug window appears and you might see some error messages. With every application that you launch there will also be a new debug window. You can change the information level that appears in the debug window.

The debug DLLs are located in the installation tree in the following directory:

   SERVER\x86\SDK\DEBUG


Steps to Replace the DLLS to Debug DLLs

1. Make sure that Control Panel is not running and that you do not have a

   Falcon application running.

2. Use the following syntax:

      Net stop mqac /y
      Xcopy <Falcon debug directory> %systemroot%\system32 /u
      Net start mqac
      Start mqsvc

 The Falcon service starts as a user process and the debug window appears.

3. From the Setup menu, choose Set Locations and select "Output to debug
   window".

4. From the Setup menu, choose Set State and then press the Check
   All button.

5. Stop Mqsvc.exe by typing q and then press ENTER in the Mqsvc window.
   Now, start Mqsvc.exe again.

You should now see messages in the debug window indicating what is going on during the initialization phase of the QM. In a normal situation there are messages in the debug window and they are not necessarily error messages, although, you may see some error messages there.

Run the program on the PEC and on the client computers. You can also set the information level in the debug window using the dialog that appears when you select Set State from the Setup menu. Click the X that is to the left of DBGMOD_QM and change the "Level" drop-down list box to Information. You will get many more messages now.

You can also direct the trace to a file from the Set Location on the Setup menu. Set the traces from the client and the server. Get the trace from the time you activate the QM until the test application terminates.

REFERENCES

MSMQ Software Development Kit (SDK) and Administrator's Guide

Additional query words: kbnokeyword

Version           : WINNT:1.0
Platform          : winnt
Issue type        : kbhowto

Last Reviewed: August 26, 1998