[SDK 3.0] Can't get PVRTrace work on windows


Hi:

I'm currenlty using the SDK v3.0 on windows, and I'm trying to use the PVRTrace with the HelloApi sample.

I'm following the documentation of PVRTrace and I'm copy the provided PVRTrace dll (libEGL.dll, libGLESv2.dll and PVRTrace.dll) and put in next to the application executable. Then I created the pvrtrace.cfg file with the following information:


EglLibraryPath = C:ImaginationPowerVRGraphicsSDKPVRVFrameEmulationLibsWindows_x86_32libEGL.dll 
Es1LibraryPath = C:ImaginationPowerVRGraphicsSDKPVRVFrameEmulationLibsWindows_x86_32libGLES_CM.dll 
Es2LibraryPath = C:ImaginationPowerVRGraphicsSDKPVRVFrameEmulationLibsWindows_x86_32libGLESv2.dll 
 
TraceFile = trace.pvrt
RecordData = 0 
StartFrame = 0 
EndFrame = 100 
 
Network = 1 
NetworkWait = 1 
SaveFileToDisk = 0 
NetworkBufferSize = 65535

And put it next to the application executable.

When I run the HelloApi application on VS2010, it exit before reaching the WinMain entry point.
There is something wrong with my configuration ? Any Hints? 

Thank in advance.


castroman2012-10-17 15:01:07

Hi castroman,


Thank you very much for your question, we are eager to catch all the issue concerted with out utilities as soon as possible.

Exiting before WinMain entry point is quite strange as it means that the dependencies are not been satisfied or an exception in static class initialization.

Could you run your application and catch the log info printed? ei: Console

PVRHelloTriangle.exe > output.txt 2>&1

And could you tried without using the Network option. We have found a defect with NetworkBufferSize (remove it,please)




Network = 0



That defect will be release in a new version at the end of this month.

Regards,

David



Hi David!


Thanks for the quick response. The following is the output provided by VS2010 when I execute the application:

‘OGLES2HelloAPI.exe’: Loaded ‘C:ImaginationPowerVRGraphicsSDKSDK_3.0ExamplesBeginner1_HelloAPIOGLES2BuildWindowsVC2010DebugOGLES2HelloAPI.exe’, Symbols loaded.
‘OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSysWOW64ntdll.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSysWOW64kernel32.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSysWOW64KernelBase.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:ImaginationPowerVRGraphicsSDKSDK_3.0ExamplesBeginner1_HelloAPIOGLES2BuildWindowsVC2010DebuglibEGL.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:ImaginationPowerVRGraphicsSDKSDK_3.0ExamplesBeginner1_HelloAPIOGLES2BuildWindowsVC2010DebugPVRTrace.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSysWOW64ws2_32.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSysWOW64msvcrt.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSysWOW64rpcrt4.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSysWOW64sspicli.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSysWOW64cryptbase.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSysWOW64sechost.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSysWOW64nsi.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSysWOW64user32.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSysWOW64gdi32.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSysWOW64lpk.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSysWOW64usp10.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSysWOW64advapi32.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSysWOW64msvcr100.dll’, Symbols loaded.
‘OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSysWOW64msvcp100.dll’, Symbols loaded.
‘OGLES2HelloAPI.exe’: Loaded ‘C:ImaginationPowerVRGraphicsSDKSDK_3.0ExamplesBeginner1_HelloAPIOGLES2BuildWindowsVC2010DebuglibGLESv2.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSysWOW64imm32.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSysWOW64msctf.dll’, Cannot find or open the PDB file
The program ‘[7700] OGLES2HelloAPI.exe: Native’ has exited with code -1 (0xffffffff).

As you proposed, I changed the Network attribute from pvrtrace.cfg to ‘0’, but the application still crashes before reaching the WinMain.

Hi castroman,

Are you trying to compile HelloAPI for 64? 


C:WindowsSysWOW64...?

Because you have to match the VFrame Libraries + Trace Library + your application. Have you tried to record any of our PRE compiled demos? are they working?

Regards

David

Hi David:


The I compiled the HelloApi sample as a win32 application. 
There is something a little strange, when I compile the sample for x64 target, I got the following output when loading the dlls:

‘OGLES2HelloAPI.exe’: Loaded ‘C:ImaginationPowerVRGraphicsSDKSDK_3.0ExamplesBeginner1_HelloAPIOGLES2BuildWindowsVC2010x64DebugOGLES2HelloAPI.exe’, Symbols loaded.
‘OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32ntdll.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32kernel32.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32KernelBase.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:ImaginationPowerVRGraphicsSDKSDK_3.0ExamplesBeginner1_HelloAPIOGLES2BuildWindowsVC2010x64DebuglibEGL.dll’, Binary was not built with debug information.
‘OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32user32.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32gdi32.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32lpk.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32usp10.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32msvcrt.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32msvcp100.dll’, Symbols loaded.
‘OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32msvcr100.dll’, Symbols loaded.
‘OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32shell32.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32shlwapi.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32ole32.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32rpcrt4.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:ImaginationPowerVRGraphicsSDKSDK_3.0ExamplesBeginner1_HelloAPIOGLES2BuildWindowsVC2010x64DebuglibGLESv2.dll’, Binary was not built with debug information.
‘OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32imm32.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32msctf.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32uxtheme.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32dwmapi.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32advapi32.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32sechost.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32cryptbase.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32opengl32.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32glu32.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32ddraw.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32dciman32.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32setupapi.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32cfgmgr32.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32oleaut32.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32devobj.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32nvoglv64.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32version.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32ntmarta.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32Wldap32.dll’, Cannot find or open the PDB file
’OGLES2HelloAPI.exe’: Loaded ‘C:WindowsSystem32powrprof.dll’, Cannot find or open the PDB file

It’s pointing to “system32” dll’s

I will try to use the the precompiled demos ASAP.

Thanks for the help

Hi castroman,

well, what we see in the log is ok as your machine in running a 64 version of Windows, that is the reason of SysWOW64 when you are building for 32bit.  

Could you try to build the demo and running in a Windows Console (CMD) not using the Visual Studio environment and send us the output.

Regards,

David. 

Hi again,


I’m tried the compiled HelloAPI with the PVRTrace dlls and works!. In order to make it work, I had to remove the NetworkBufferSize as you said.
Then I tried to run the executable that I compiled from outside of VS2010, and also works, but when I’m trying to run it though VS2010 it doesn’t reach the WinMain.

Now I have another problem. If I use the following configuration:

TraceFile = trace.pvrt
RecordData = 1 
StartFrame = 0 
EndFrame = 100 
 
Network = 1 
NetworkWait = 1 
SaveFileToDisk = 0 

And then I tried to attach using the PVRTrace, it generates a .pvrt invalid file (zero size). If I set the RecordData to ‘0’ it generate a valid file, (but I miss a lot of useful information).

Do you now if there is some additional configuration required when setting RecordData = 1 ??

Thanks!!


Hi,

You have to bear in mind that the dll has to be copied in the folder project but sometimes when you are debugging the application in VS , Windows try to search for the libraries in the Debug folder in your current folder project.

About the Network option: First let me explain you that there are two different procedures to record an application. An offline mode: selecting the StartFrame and the EndFrame, setting Network=0; which will record the range of frames selected; and an online mode which is controlled using PVRTraceGUI.

In the config you send us you are using the Network Option, and you want that the application wait (NetworkWait = 1) for the PVRTraceGui before starting to "play/run" the first EGL/GL call and you are selecting that you don't want to save a copy of trace in the target "SaveFileToDisk = 0" too.

Try first using the offLine Mode. (Network = 0) and record something and try to open the file in PVRTraceGui. Then, and after reading the documentation, you can start recording using the OnLine mode. They are several different parameter all documented in the manual.


Regards,

David



Hi David,


I was able to execute both offline and online captures.

Thanks a lot for you help!