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

Intel Inspector will fail to detect memory leaks when multiple Visual C++ runtime versions are loaded in the process

Alessio_M_
Beginner
505 Views

While test-driving Intel Inspector we found out that it will fail to detect memory leaks when multiple Visual C++ runtime versions are loaded in the process.

Has anyone seen this before? Does anyone know if there's a way to point the tool to the specific runtime heap management one wants to inspect.

In our case the exe module is written by us, is compiled with Visual C++ 2008sp1 (MSVCR90.DLL) and brings in a plain C DLL that is built with v2010 (MSVCR100.dll).

Thanks in advance!

 

0 Kudos
2 Replies
Matthew_B_Intel
Employee
505 Views

What happens if you go into "Project Properties" and in the "Advanced" properties, go to the "Modules" section, and:

  1. Select the "Include only the following module(s)" radio button
  2. Enter the names of the modules you are interested in.
  3. Run another analysis

Do you get the same results?

Another idea would be to go to the same section, and Exclude the modules you are not interested in.  Please give these a try, and let us know if you get better results.

0 Kudos
Peter_W_Intel
Employee
505 Views

I tried to build a simple test case by using dll (contains 1 leak)) & its caller in different Visual Studio version, but cannot reproduce this problem.

In VS2012 x64 Command Prompt,

cl /Zi /LD mydll.cpp /link ; generate mydll.dll

In VS2010 x64 Command Prompt,

cl /Zi mydll_test.cpp ; generate mydll_test.exe

Run "\Program Files (x86)\intel\Inspector XE 2013\inspxe-vars.bat" ; set Inspector XE's environment

inspxe-cl -collect mi3 -- mydll_test.exe; 1 Memory leak problem(s) detected.

I attached these files, you can try this on your side. Is it your project specific issue?

0 Kudos
Reply