Microsoft KB Archive/191541

= HOWTO: Use Debug DLLs to Troubleshoot MSMQ Issues =

PSS ID Number: 191541

Article Last Modified on 9/1/1999

-

The information in this article applies to:


 * Microsoft Message Queue Server (MSMQ) 1.0

-



This article was previously published under Q191541



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:

 Make sure the MSMQ Software Development Kit (SDK) component is installed. Stop the MSMQ service and driver. For example:

net stop msmq

net stop mqac

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

c:\program files\msmq\sdk\debug

 Run the Mqsvc.exe program. A debug window appears, in which debug messages will be displayed by the MSMQ service. 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.

 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.</li> To run the retail service again, quit the Mqsvc.exe program and run the following:

net start msmq

</li></ol>

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
<ol> Make sure that Control Panel is not running and that you do not have a Falcon application running.</li> 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.</li> From the Setup menu, choose Set Locations and select &quot;Output to debug window&quot;.</li> From the Setup menu, choose Set State and then press the Check All button.</li> Stop Mqsvc.exe by typing q and then press ENTER in the Mqsvc window. Now, start Mqsvc.exe again.</li></ol>

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 &quot;Level&quot; 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.

<div class="references_section">