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

Target a single DLL for analysis

cj_mcallister
Beginner
433 Views
This seems like a simple operation, but I'm having difficulty finding instruction on how to do it.

So, I've got a script that runs Main.exe through a number of operations, and there's various memory issues with this particular set of operations. However, I don't care about memory leaks/problems outside of a single problematic DLL (Leaky.dll), so I want Inspector XE to completely ignore memory leaks/problems everywhere else.

I'm running Inspector XE through the command line, and the command I have recently used is as follows:

inspxe-cl -collect mi1 -module-filter-mode=include -module-filter="path/to/Leaky.dll" -- "path/to/Main.exe" -runTest

From reading the info in the command line help, I assumed that the -module-filter-mode=include and -module-filter="path/to/Leaky.dll" would be sufficient to single out this bad DLL. However, when I look at the results, there is no information related to Leaky.dll. I'm guessing that I'm misusing the module filter switches somehow, but I'm not sure exactly how. Any guidance is greatly appreciated.

EDIT: I realized that I made a mistake in my path, and I am now seeing leaks in Leaky.dll. However, there is still a large number of leaks noted in other modules, mscorwks.dll for example. I would like to ignore these, as they make up the vast majority of leaks, and contribute to the 100,000 leak-limit being reached on a given run
0 Kudos
3 Replies
Peter_W_Intel
Employee
433 Views
Note that "mi1" detects memory leaks only, not for other memory access problems.

Simply try command in this way:

inspxe-cl -collect mi2 -executable-of-interestLeaky.dll -- runTest

Regards, Peter
0 Kudos
cj_mcallister
Beginner
433 Views
This does not appear to resolve the issue. Using the -executable-of-interest switch causes an error to occur, seemingly because Leaky.dll is not an executable file. The error was as follows:

Error: Cannot find analysis results. Make sure that the application launched your executable of interest [Leaky.dll]

Also, mi2 does not work, but I think this is due to the limitations of my low-end workstation, but mi1 suits my needs just fine.

I suppose my follow-up question would be how can I avoid hitting the 100000 memory leaks limit? I'm certain that the vast majority of the 100000 leaks come from outside Leaky.dll, if they're not just false positives in the first place, and the -module-filter and -executable-of-interest switches don't appear to be helping. Are there any other switches that can be used to narrow the scope of the memory leak detection?
0 Kudos
Peter_W_Intel
Employee
433 Views
Sorry that "-executable-of-interest" doesn't work with dll module. So you still use -module-filter for interest of module, which was loaded by your executable.

I don't know why there is no problem in Leaky.dll, or it should be no problem?

As I know if the tool detected 5000 memory leaks/problem, it will stop. That is for all modules.

If you find vast leakscome from outside Leaky.dll, and you already set Leaky.dll only for detection - it should be a bugof the tool. Are you using latest XE 2011 Update 9 or Update 10? You may submit the issue to https://premier.intel.com with test case for investigating. Thank you.

Regards, Peter
0 Kudos
Reply