FAQ on NP .NET Profiler

 

NP .NET Profiler is designed to assist in troubleshooting performance, memory and first chance exception issues in .NET Applications. You can download the tool from here.

 

Which version of the profiler to use (x86 or x64) ?

If you are running x86 process on x64-bit machine, please use x86 profiler. If the IIS AppPool is configured to run 32-bit web applications, please use x86 profiler

Profiler is still “Waiting for process to start....”

Here are common causes :

  1. Folder permission
    Make sure the np.exe is at c:\temp\np and not in Desktop or My Document or User folder
    Give IIS apppool user account, permission to c:\temp\np folder
    Remove the read-only attribute from the c:\temp\np folder
  2. 32-bit or 64-bit
    If the AppPool is 64-bit, use the 64-bit np.exe. If the AppPool is configued to run 32-bit, please use x86 profiler
    If the process is x86, please use the x86 profiler
  3. Check the event log for errors from CLR runtime
  4. Collect DebugView Logs
    • Download DebugView
    • Close np.exe
    • Start DebugView.exe
    • Enable global win32 capture in DebugView
    • Start np.exe
    • Follow the wizard and click start profiling
    • Make a single request to the IIS application
    • Review the DebugView.exe output

 

“Failed to CoCreate profiler” in the event log

.NET CLR Runtime failed to create the COM object, make sure the profiler is running under admin privileges
Use x86 profiler for 32-bit process running on 64-bit machine

No logs files are created

Make sure IIS AppPool user account has write access to the output folder.
Make sure at least one request is submitted.

"Files in use" error message when reading the output files

Make sure the application is closed before reading the output files

Profiler crashes when reading large files

Use x64-bit profiler to read large log files captured using x86-bit profiler
Make sure there is enough free hard disk space

Profiler returns empty reports

Make sure the namespace settings during collection is correct, *.* is not a valid namespace option

When profiling Windows Azure process, the profiler is still “Waiting for process to start....”

Extract the NP_x64.zip file to local storage resource directory. It is usually C:\Resources\directory\f335471d5a5845aaa4e66d0359e69066.MyService_WebRole.localStoreOne\ , where the GUID like number is deployment ID and rest is the role name. Azure worker processes will have read/write access to this folder.

If NP.exe is executed from other locations, you may get following error in the event log

:.NET Runtime version 4.0.30319.551 - Loading profiler failed during CoCreateInstance.  Profiler CLSID: '{594203B3-BF17-4261-B362-F28A68185A0D}'.  HRESULT: 0x80070005.  Process ID (decimal): 3492.  Message ID: [0x2504].