Advantage Developer Zone

 
 
 

Use Process Monitor for Advantage Specific Errors

Monday, April 02, 2012

The program "Process Monitor" which is commonly referred to as "ProcMon" can be used to debug Advantage specific errors. The errors to typically use ProcMon with would deal with Advantage related files, as ProcMon records what file requests your computer makes

A brief tutorial of ProcMon’s capabilities is shown below

If, for example, the Advantage specific error '6420' is returned. This indicates the Advantage discovery process failed, and the easiest solution is to create an ADS.ini that contains the IP and port of the server you are trying to connect to. For this tutorial, you should create the ADS.ini and place it on the desktop. With the ADS.INI file created the 6420 error is still being returned. Is the Advantage client not reading the ADS.ini? Where is it looking for the ADS.ini? These questions can be solved with ProcMon.

  1. First we are going to need to download Process Monitor. It can be located at: http://technet.microsoft.com/en-us/sysinternals/bb896645
  2. Start up ProcMon and it will start showing you information. We are going to want to apply a filter, so press the filter button, it should look like this: ProcMon icon
  3. We want to find out where it is attempting to find our ADS.ini file, so to do so we are going to use a filter on the log. The filter options should be:

    So now the filter on the log will only display entries that have a file Path that Contains ADS.ini.
  4. Add and apply the filter, and close the filter menu. ProcMon will now start monitoring all activities. To see where Advantage is looking for our ADS.ini we need to run the application that is receiving the 6420 error.
  5. After recreating the error, the following entries appeared in ProcMon.

    It appears that arc32.exe is looking for the ADS.ini file in the following directories:
    • C:\Program Files\Advantage 10.10\ARC\ads.ini   (Application Directory)
    • C:\Documents and Settings\XPMUser\ads.ini (Current user directory)
    • C:\WINDOWS\system32\ads.ini
    • C:\WINDOWS\system\ads.ini
    • C:\WINDOWS\ads.ini
    • C:\WINDOWS\system32\wbem\ads.ini
    To resolve this, we can put our ADS.ini into the Windows directory or another directory listed above. After doing so, you may receive error 6097:

    This means it did correctly read my ADS.ini. Now to resolve this error I would have to open up the ports Advantage is running on in any firewalls that exist between the client and server.
Summary

This example of using ProcMon to debug an Advantage error is similar for other errors. Often the error returned would specify the file its looking for, e.g. ‘ace32.dll’,’ axcws64.dll’, etc. All you would need to do is to change the path filter to the name of the file, and voila! You can now see where it is looking for the file, and easily put a copy into that directory to fix that error.