Forum Discussion

Shapoval's avatar
Shapoval
New Contributor
13 years ago

AQTime 5: Debugging a 32-bit DLL under 64-bit Windows

Hello,



I've just installed AQTime 5 for x86 platform onto my new 64-bit laptop and tried to profile a 32-bit DLL, as I did before on my 32-bit PC. When I try to start the allocation profiler, it gives me the following error message: "Cannot start profiler. The specified module cannot be loaded to an x64 process". What shall I do to make it working?



Regards,



Sergey Shapovalov

6 Replies

  • Shapoval's avatar
    Shapoval
    New Contributor
    Some additional info. The DLL I'm profiling is an out-of-process COM DLL and I run it using the DLLHost.exe application. It works fine when I'm debugging with Delphi, so the registry settings are correct.
  • Hello,


    If you run AQtime x86 on the 64-bit version of Windows, the Allocation profiler is not available.

    To use the Allocation profiler on the 64-bit Windows operating system, install the AQtime x64 package. You can use this package to profile both 32-bit and 64-bit modules.

  • Shapoval's avatar
    Shapoval
    New Contributor
    Hello Margaret,



    Thanks for the quick answer. I've installed the version for x64 platform, but, unfortunately, I get exactly the same result as before.
  • Hello Sergey,


    Such a problem can occur if you specify a 64-bit host application (in your case, DLLHost.exe) for your 32-bit module. In Windows, the process and module must have the same "bitness", that is, you can load 32-bit modules only to 32-bit processes.


    I suppose that you specify C:\Windows\system32\dllhost.exe as the host application. This application is 64-bit, but the dll you need to profile is 32-bit.


    To solve your problem, try specifying C:\Windows\SysWOW64\dllhost.exe as the host process. This application is 32-bit.

  • Shapoval's avatar
    Shapoval
    New Contributor
    Hello Margaret,



    I've tried it and it seems to solve the 32 vs. 64 bit problem (though both dllhosts work perfectly fine when I specify them as the host application in Delphi environment). However, in general, it didn't make things better. Now I get "The application was unable to start correctly (0xc0000005)" error.



    Could it be related with the fact that the AQTime version I'm using is not fully compatible with my Windows 7? I start it with the /ns parameter, as I've read somewhere in this forum (otherwise it just doesn't start) and get the following warning in the Events Log:



    Application ("C:\Program Files (x86)\Automated QA\AQtime 5\Bin\AQtime.exe" /ns) (PID: 0x1264) is using Windows functionality that is not present in this release of Windows. For obtaining an updated version of the application, please, contact the application vendor. The technical information that needs to be conveyed to the application vendor is this:  "An RPC method has been called on a connectionless protocol sequence ncadg_ip_udp. Usage and support of this protocol sequence has been deprecated for this release of Windows. For information on the deprecation process, please, see http://go.microsoft.com/fwlink/?LinkId=36415."  User Action Contact the application vendor for updated version of the application.
  • Hello Sergey,


    Yes, this problem occurs because AQtime version 5 does not work on the Windows 7 operating system. It requires the following versions of Windows: Microsoft Windows Vista (both 32-bit and 64-bit editions are supported), Windows 2000, Windows XP, Windows XP Professional x64 Edition, Windows Server 2003, Windows Server 2003 x64 Edition, or Windows NT 4.0 Service Pack 6 with the Microsoft .NET Framework 1.0, 1.1, 2.0, 3.0 or 3.5.


    Try using AQtime 5 on another operating system or update to the latest version of AQtime.