PRB: Profiler Fatal Errors PRF1012 and PRF1306

Last reviewed: February 28, 1997
Article ID: Q128554
2.00 2.10 4.00 4.10 4.20 WINDOWS NT kbtool kberrmsg kbprb

The information in this article applies to:

  • The Microsoft Source Profiler, included with: Microsoft Visual C++, 32-bit Edition, versions 2.0, 2.1, 4.0, 4.1, 4.2

The information in this article is included in the documentation starting with Visual C++ 5.0. Look there for future revisions.

SYMPTOMS

When trying to profile an application using Visual C++'s development environment, you get the following fatal error messages:

   PROFILE.DLL : fatal error PRF1012 : cannot read expected number of
   bytes from file <path>\xxxx.pbi

   PREP : fatal error PRF1306: PBT or PBO file <path>\xxxx.pbo is not
   derived from same PBI file

  It is also possible to get the following error if you are using the
  incorrect PROFILE.DLL:

   PROFILE.DLL: fatal error PRF1005: operating system ran out of memory.

CAUSE

The wrong version of PROFILE.DLL is being loaded in memory and used by the profiler. Most likely a copy of PROFILE.DLL from Visual C++, 32-bit Edition, version 1.0 has been loaded by Windows NT.

RESOLUTION

Make sure the PROFILE.DLL from Visual C++ version 2.0 or 2.1 is used by the profiler. Do a file search on your system to determine where the older PROFILE.DLL is located, and rename or delete the file. Make sure that the only PROFILE.DLL on your system is located in Visual C++'s BIN directory.

If for some reason there is no PROFILE.DLL in the BIN directory, you can restore the file by running Visual C++'s setup program and doing a custom installation. To do this, unselect all options except for 'Profiler' in the

'Tools Options' dialog. You also need to make sure the installation
directory you specify is the same as your current Visual C++ installation.

MORE INFORMATION

The incorrect PROFILE.DLL will probably be found in the <winnt>\SYSTEM32 directory where <winnt> refers to the directory that Windows NT is installed. Or the DLL may be in another directory found on the PATH. The correct file should be located in the Visual C++ 2.x BIN directory.

The date and size of the PROFILE.DLL files from all Visual C++ 32-bit Edition versions are listed here:

   Visual C++ 4.2 :  02/07/96  10:48p   93,184  PROFILE.DLL
   Visual C++ 4.1 :  02/07/96  10:48p   93,184  PROFILE.DLL
   Visual C++ 4.0 :  09/29/95  09:49p   78,848  PROFILE.DLL
   Visual C++ 2.2 :  09/16/94  02:00p   19,456  PROFILE.DLL
   Visual C++ 2.1 :  09/16/94  02:00p   19,456  PROFILE.DLL
   Visual C++ 2.0 :  09/16/94  02:00p   19,456  PROFILE.DLL
   Visual C++ 1.0 :  06/28/93  04:48p   42,496  PROFILE.DLL

Note that the Source Profiler is not provided with Visual C++ 4.0, Standard Edition.


KBCategory: kbtool kberrmsg kbprb
KBSubCategory: VWBIss
Additional reference words: 1.10 2.00 2.10 4.00 4.10 4.20
Keywords : kberrmsg kbprb kbtool
Version : 2.00 2.10 4.00 4.10 4.20
Platform : NT WINDOWS


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: February 28, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.