yoichi
15 years agoNew Contributor
Using AQTime and .NET Unmanaged Profiling API Simultaneously
Hi,
I'm having problems with profiling the .NET application that is a subject to .NET unmanaged API, specifically Profiling API. Please note that this NOT the Visual Studio built-in profiler.
I have created my own profiler in accordance with .NET unmanaged API guidelines (http://msdn.microsoft.com/en-us/library/bb384493.aspx#profiling_api) and registered it in the system (e.g., regsvr32.exe, COR_ENABLE_PROFILING=1, etc.) At some point my custom profiler is loaded into .NET process and granted access to original application. This works just fine.
What I am trying to do is to measure the performance of my profiler (yes, I'm profiling the profiler since there are limitations on overhead it can bring to the application being profiled) using the AQTime. To do that I setup a project and include two modules in it, i.e. original .NET application (e.g., MyApplication.exe) and my Win32 profiler (e.g., MyProfiler.dll.) The selected profiler is Performance Profiler.
The problem is that: 1) I don't see my profiler's DLL is loaded at all in AQTime event log, 2) It is actually not loaded since my profiler does not report anything (i.e. no log files created.) If I run my application normally everything works fine.
Did anyone have the same problem with AQTime and .NET Profiling API? Any help would be much appreciated.
I'm having problems with profiling the .NET application that is a subject to .NET unmanaged API, specifically Profiling API. Please note that this NOT the Visual Studio built-in profiler.
I have created my own profiler in accordance with .NET unmanaged API guidelines (http://msdn.microsoft.com/en-us/library/bb384493.aspx#profiling_api) and registered it in the system (e.g., regsvr32.exe, COR_ENABLE_PROFILING=1, etc.) At some point my custom profiler is loaded into .NET process and granted access to original application. This works just fine.
What I am trying to do is to measure the performance of my profiler (yes, I'm profiling the profiler since there are limitations on overhead it can bring to the application being profiled) using the AQTime. To do that I setup a project and include two modules in it, i.e. original .NET application (e.g., MyApplication.exe) and my Win32 profiler (e.g., MyProfiler.dll.) The selected profiler is Performance Profiler.
The problem is that: 1) I don't see my profiler's DLL is loaded at all in AQTime event log, 2) It is actually not loaded since my profiler does not report anything (i.e. no log files created.) If I run my application normally everything works fine.
Did anyone have the same problem with AQTime and .NET Profiling API? Any help would be much appreciated.