I try to analyse my software with VTune Performance Analyser/Call Graph analysis, but I always get a messagebox "No results were generated for this run. Check the log or output window for further information." and my application is not even started.
The execution path is correct and when I start the application without VTune it runs fine.
I can test other applications and they work fine. What can be the reason for my program not to start
properly in Vtune?
This is the output of performance analyser:
Tue Apr 14 16:09:32 2009 Static instrumentation started
Tue Apr 14 16:09:40 2009 All functions instrumentation of module "g:\_build\sandbox\pview_5_7_0_18_a\dlm_build\src\pview\bin\pview2009complete.exe" was successful.
Tue Apr 14 16:09:40 2009 Exports instrumentation of module "d:\windows\system32\ntdll.dll" was successful.
Tue Apr 14 16:09:43 2009 Exports instrumentation of module "d:\windows\system32\kernel32.dll" was successful.
Tue Apr 14 16:11:00 2009 Exports instrumentation of module "d:\windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03\comctl32.dll" was successful.
Tue Apr 14 16:11:00 2009 Static instrumentation done
Tue Apr 14 16:11:02 2009 Data collection started...
Tue Apr 14 16:11:02 2009 Data collection finished...
Can anybody help?
Some morequestions, that may clarify the issue:
Are you using a batch-file to call your application?
Does the application use dlls or it's statically linked with libs?
What is the memory footprint of your application?
How long does your workload run?
Does your application end normally or by using a terminate function?
Does your application fork?
thanks for quick answer.
First I do no have any parameters forwarded to my application. It's startet by just calling the exe file.
> Are you using a batch-file to call your application?
No I do not.
> Does the application use dlls or it's statically linked with libs?
Both. The whole application has 22 MB. There are statically linked libs like log4cxx, and also dynamically linked ones.
> What is the memory footprint of your application?
if you mean the /fixed compiler option, it is set to NO
> How long does your workload run?
It doesn't really start. I have some logs in the beginning, and they are not produced.
In the VTune GUI i use the default value for duration of "0" but also 1000 seconds doesn't help.
With other projects I leave the "0" and the vtune session runs until I terminate the program.
> Does your application end normally or by using a terminate function?
Its a normal MFC program which uses window closing for terminating the application.
> Does your application fork?
I have some threads running internally, yes.
The funny thing is, we made some months ago a port from VS6 to VS9. Not only the port, but also some
changes on libraries and runtime conditions and the projectfileis made from scratch.
The VS6 project I can use without problems.
Another change was the MFC and runtime are now linked dynamically. I made some tests with other dynamically linked applications with no problems.
Thanks for the details.
There might be a problem with statically linked executable. I can't say for sure right now, but as far as I remember Call Graph doesn't work properly with statically linked binaries on Windows, but I need to check it.
I forgot to give you a nice link to the page with the steps of how to resolve CG issues. Please, try it as well.
Besides, I'd like to look at the CG project results. Would you please find the results directory (usually it's under
BTW, to attach a file it's not enough to save it in the folder. Please, click the file name and Add attachment to the message.
Now I got it with the attachment.
concerning I link, I had it before. I tried all first three steps already and the forth some minutes ago.
Even if I restrict all collectors to Minimal (exe, dll and system dlls) my program still doesnt start and "no results ..."
I hope the attachment sheds some light on the problem.
From the logs it revealed that an anti-virus program "Sophos Anti-Virus" dynamically injects DLL D:ProgrammeSophosSophos Anti-Virussophos_detoured.dll into instrumented process.
It apparently conflicts with dynamic instrumentation engine.
Please, try to temporary stop this anti-virus service and then re-run the analysis. In case of failure, please attach the results directory as well.
thanks again for your quick help, but still no success.
- I tried with sophos completly deactivated - no improvement see myapp logs 14:47 and 14:54.
- I renamed this sophos.dll and made again instrumentation - see myapp logs 15:35
- I saw that this dll was not injected in VS6 projects, but anyway I think this is not the problem.
- I tried another application, compiled with VS9, same runtime setting. This application
In summary I think
- its no problem of sophos (was worth a try)
-its has nothing special to do with VS9 and compilation or linking settings.
- I'm afraid its really a problem of any of the libs/dlls I link to the program.
Isn't there a possibility to find out which library causes the problem?
Sorry for the delay, I was on vacation and it took some time to communication with engineers who looked at the logs.
Unfortunately, from the attached logs they did not find anything suspected besides the original concern wrt. Sophos. Binary sophos_detoured.dll from this product is still injected into profiled process. According to what is mentioned on Sophos support site, the DLLs from the list are loaded (injected) into any created process at early stage. The problem that some will try to instrument certain system APIs and thus will conflict with VTune CG instrumentation engine (Bistro) run-time that will try to do the same thing, probably with the same APIs. It will certainly lead to fast process crash as coexistence of multiple similar instrumentation engines in the same process is not supported.
Sophos_detoured.dll is most probably uses binary instrumentation, since, as mentioned in its name, it uses detour, Microsoft's engine for instrumentation of system APIs.
Just to check this, please, try to profile your application on another machine where Sophos was never installed.
Just another hint: try to temporary remove any DLLs from registry key HKLMSoftwareMicrosoftWindows NTCurrent VersionWindowsAppInit_Dlls, reboot, create new VTune call graph project for the app of interest and profile.