- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
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.
Link Copied
6 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
![](/skins/images/7FC17B7B85029576C25F1E43CE255B51/responsive_peak/images/icon_anonymous_message.png)
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page