Free .NET Profiler for .NET 4.0 Mixed Code

I checked out some of the performance profilers mentioned here . But...

  • EQATec did not work for me, because I have many assemblies that I want to profile, and it has a build limit for the profile. How much trouble does a free license get? I would go for it if someone guaranteed me that EQATec can profile both managed and unmanaged code.
  • SlimTune only profiled my managed code, even if I set the “Native Profile Functions” to “True”
  • XTE profiler is no longer free
  • We have a copy of AQTime 6 that we bought earlier, but it does not seem to support .NET 4.0 applications (it cannot even run my application).
  • We use Visual Studio 2010 Professional SP1, so we do not have a Visual Studio profiler
  • I tried "bad person profiling" (I stopped the program many times and saw where it is), but I get too random results, and I'm more used to traditional profiling.

(I spent all day on this, sorry if I was too negative)

UPDATE After I cleared my solution, he built it again and checked that all the debugging information (.pdb) was copied to the same directory as the executable, I tried AQTime again and it will work! He showed me the routine time information for managed and unmanaged code, so my problem was solved. However, I am using a paid profiler, so the question will remain open until I look at xperf or someone comes up with something else.

+6
source share
5 answers

AQTime has a free version of its latest profiler (http://smartbear.com/products/free-tools/aqtime-standard/) It supports .Net 4, but I doubt that it can run a mixed Native and Managed profile.

If you are really serious about this, you can check out Microsoft xperf tools (http://msdn.microsoft.com/en-us/performance). They have a steep learning curve, but they are free, and I doubt that any commercial profiler can do what xperf can do (the devices are in the OS, not in a separate process, so Vista, win7 or win2K8 are required). I am waiting for someone to write a beautiful graphical interface around him, but he will drag out a bit ...; -)

xperf will profile your own code, and you can upload your characters to the result viewer. However, I do not think that this will decrease to the level of detail. This has a .Net CLR Provider (http://msdn.microsoft.com/en-us/library/dd264809.aspx). The great thing about xperf is that it can also show other processes that may affect your performance (you can disable it and only profile your own process). For example: it is able to show that your IO is slow due to a poorly written USB driver, antivirus scanner, or firewall software. A traditional profiler will only show slow I / O, forcing you to focus on a non-bottleneck.

By the way, there is also an ICorProfilerCallback interface that you can use to write your own profiler (http://msdn.microsoft.com/en-us/library/s5ec0es1.aspx).

+3
source

OP: "I would go for it if someone guaranteed me that XXXX could profile both managed and unmanaged code."

Our C # Timing Profiler is independent of how your C # code is compiled (managed or unmanaged or mixed). This should work well for this.

+1
source

I am sure that the answer to your question is: "There is more than one."

Comparing a whole group of .NET profilers a few months ago, I found that only very few can do mixed .NET / native profiles: AQTime ($ 599) and Glowcode ($ 499). Or so they say - I have not tried.

EQATEC, Visual Studio, ANTS, Jetbrains dotTrace, Yourkit, XteProfiler, Slimtune, etc. could not, so I doubt that in the near future you will find a free profiler.

+1
source

Microsoft's CLR Profiler 4 is free. Have you tried this?

What are you looking for in the unmanaged part of the profiler?

0
source

Your concern about the EQATEC Profiler is easily resolved: it manages .NET profiling, not any unmanaged profiling.

As shown in pricing , the actual profiling function differs only in the number of assemblies that can be profiled at a time. Thus, a free edition of $ 0 allows you to create a one-page WP7 application in the same way as a corporate edition worth $ 999. For an additional price tag, you get the opportunity to profile more assemblies at once and several additional functions, such as printing, comparison, min / max, etc.

Obtaining a free testing license. EQATEC Analytics is considered simple. Switching to an unlimited corporate license is a pretty popular choice, and many of them have achieved this in just a couple of hours. Obtaining a free standard license for $ 99 should not take more than 10 minutes or so if you are good. Please note: I work at EQATEC and we actually give out so many free licenses every day that they become almost a burden because everyone is processed manually (yes, seriously!), So this particular offer cannot last forever.

0
source

Source: https://habr.com/ru/post/891585/


All Articles