Analyzers
Talk to fellow users of Intel Analyzer tools (Intel VTune™ Profiler, Intel Advisor)
4975 Discussions

How to inspect Visual Studio 2013 unit tests with Intel Inspector XE 2016?

Umesh_T_
Beginner
709 Views

Hi,

I am trying to inspect Visual Studio 2013 unit tests in mixed layer. The unit test (CLI layer) project generates a dll which calls native dlls. Need to analyse the native dlls. 

When I create a new analysis in Inspector XE, I get following error message "File C:\...\...dll is not an executable binary." 

To resolve this, I tried setting vstest.executionengine.x86.exe as the target application in Intel Inspector tool, but it doesn’t run the tests when the memory error analysis is started. If the tests are run from Visual studio, another vstest.executionengine.x86.exe starts running which is not useful.

Is there any way to get the unit test running from the Intel Inspector tool or any other way to inspect the Visual Studio 2013 unit tests?

Regards,
Umesh

0 Kudos
3 Replies
Kirill_R_Intel
Employee
709 Views

Hello. I'm not familiar with VS Unit tests, but Inspector need a runnable executable, you can't analyze dll only. You need to set *.exe file as Application in Inspector project properties, and run Inspector analysis, so that it runs the *.exe. All dlls called from the *.exe will be analyzed as well (you may also include/exclude some modules in project properties.

Do I understand right that C# is used? In this case, you should also set "Microsoft runtime environment mode" to "Mixed", in order to analyze both .Net and native modules.

0 Kudos
Umesh_T_
Beginner
709 Views

Hi Kirill,

Thanks for your reply. The project is a mixed layer calling native dlls which have to be analysed for memory leaks. As you suggested, I had set the environment mode to 'mixed' but it didn't help.

The memory leak is detected to the level of 'mscorlib.dll'. Intel Inspector doesn't seem to go deep into the native dlls to give the call stack of the native code locations where there are leaks. I suspect that Intel Inspector doesn't access the 'unsafe' native code from mixed layer.

Is it so or else any suggestion?

Thanks,

Umesh

 

 

0 Kudos
Kirill_R_Intel
Employee
709 Views

In general it should work. There is "stack frame depth" parameter that is 8 by default, you can try to increase. Not sure I have other ideas, except of native-only test, that might be complex for you. It worth submitting an issue to Intel Premier support, attaching your project.

0 Kudos
Reply