Loading dynamic link libraries crashes at runtime after Purify

Technote (troubleshooting)


Problem(Abstract)

Attempts to load dynamic link libraries (DLL) instrumented by IBM Rational Purify for Windows result in crash at runtime.

Cause

Name of the system libraries in the cache directory does not match the name of Purify subkeys in the NameMap of Windows registry.
This normally happens to the machine where PurifyPlus is installed and operating system (OS) is upgraded later.


Diagnosing the problem

Compare system library names in cache directory and Purify subkeys in Windows registry:

For example:

  • System library names after instrumentation in cache directory:

    !PADVAP0.DLL

    $PADVAP0.DLL

    !Pmvr0.DLL

    !Pkrnlbas0.DLL


  • Purify subkeys of NameMap in the Windows registry:

    !PADVAPI.DLL

    $PADVAPI.DLL

    !Pmvrt.DLL

    !Pkrnlbase.DLL

Resolving the problem

Disclaimer

This solution contains information about modifying the system registry.  Before making any modifications to the Microsoft Registry Editor, it is strongly recommended that you make a backup of the existing registry.  For more information describing how to back up the registry, refer to Microsoft Knowledge Base article 256986

You need to reset the Purify subkeys of KnownDlls and NameMap in the Windows registry.

  1. Open the registry key HKEY_CURRENT_USER\Software\RationalSoftware\Purify

  2. Delete subkeys named KnownDlls and NameMap

  3. Do the same for other product keys (for example, Purify64, Quantify, Quantify64, etc.)

  4. Start Purify

  5. Clear the cache folder

  6. Instrument and run the Program Under Test (PUT).

Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

Rational Purify
Instrumentation

Software version:

7.0.1

Operating system(s):

Windows

Reference #:

1668139

Modified date:

2014-03-24

Translate my page

Machine Translation

Content navigation