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

VT 7.1: lot of samples in mscorwks.dll

jean-marie_clement
546 Views
Hi,

I try to analyse with sampling (BTS) and counters an application involving managed (C#) and unmanaged (C++) code.

I am not sure how I should interpret both following points:

1) in some use cases, I get most of the samples in mscorwks.dll, function GetCompileInfo

2) in some other, most of the samples are in mscorwks.dll, function JIT_MonEnter

Is it possibly a measurement artifact due to VTune? or is this really what my app does? If last, what may be the source for having all samples in one of those functions?

Thansk in advance,

Jean-Marie.
0 Kudos
6 Replies
TimP
Honored Contributor III
546 Views
Apparently, Vtune is saying you are spending most of the time JIT-compiling your managed code. If you have been running representative samples, and the time reported spent there approaches the total time spent, maybe that is so. I would suppose this is possible when you don't spend time in small loops.
0 Kudos
jean-marie_clement
546 Views
Hi,

after some further investigations, I have the assumption that the whole managed processing time is shown under this mscorwks DLL. So I guess I have to provide some more details on your environment:

* we have an application that uses both managed and unmanaged code
* it involves several processes communicating and working together

When I try to start the application from VTune, it crashes. So I am currently limited to starting out of VTune. I followed the indications of the online help, and put the executable used for starting in the list of 'modules of interests' (and no name in 'application to launch').

However, in my sample list, I don't get any name for DLLs which are pure managed DLLs. Only for the ones holding unmanaged code. And mscorwks.dll...

Has someone some hints here how I can configure this another way so that I properly obtain information about managed code?

Thanks in advance,


Jean-Marie.
0 Kudos
David_A_Intel1
Employee
546 Views
Jean-Marie:
Is this an application (EXE)? Is the EXE managed or unmanaged code?
I would recommend using the Call Graph or Sampling Wizard and selecting the .NET Profiling option. Then, on one of the following steps, select "Mixed mode" to collect data on both managed and unmanged code.
0 Kudos
jean-marie_clement
546 Views
Hi Dave,

The executable is unmanaged. Internally, it will instantiate the .NET common language runtime and create an internal AppDomain.

I never saw this 'mixed mode' option; where is it to be found?

Jean-Marie.
0 Kudos
David_A_Intel1
Employee
546 Views
Hi Jean-Marie:
Sorry, they changed the name on me. :-} In Step 2 of 2 of the 7.2 Call Graph Wizard (after selecting .NET Profiling in the very first dialog of the Wizard), there is an option to collect Call Graph data on ".NET Classes only" or "All .NET classes and all native modules". Select the later to get datafor managed and unmanaged code.
0 Kudos
wahibmichael
Beginner
546 Views
try to set the debugging mode to false in the web config if it's a web application

compilation defaultLanguage="C#" debug="false"

Message Edited by wahibmichael on 06-23-2005 09:44 AM

0 Kudos
Reply