Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there tool for .Net/C# to capture *run-time* dependencies between classes?

What tool I can use for .Net/C# project to capture run-time dependencies between classes ? I found this question to be very useful but the suggested tools capture a static dependency graph. I simply want to see graph of instantiations of classes.

I'm using VS 2008 (but can install other version if needed).

UPD: My goal is this. I have huge old codebase. It has (for example) 500 classes but because DB-driven workflow has changed over the years only (for example) 100 class are used now. That's why static dependency analysis will be too overwhelming to digest.

like image 397
expert Avatar asked Aug 15 '12 18:08

expert


People also ask

Can I use .NET with C?

. NET Framework is an object oriented programming framework meant to be used with languages that it provides bindings for. Since C is not an object oriented language it wouldn't make sense to use it with the framework.

Which software is used for .NET programming?

Microsoft Visual Studio NET Framework in Visual Studio, but Visual Studio is built with . NET. The program achieves many innovations using programs like Windows API, Windows Forms, Windows Presentation Foundation, Windows Store, and Microsoft Silverlight.

What is a .NET tool?

NET Core 2.1 SDK and later versions. A . NET tool is a special NuGet package that contains a console application.

Which tool is used for .NET framework?

NET Framework. Software developers use . NET Framework to build many different types of applications—websites, services, desktop apps, and more with Visual Studio. Visual Studio is an integrated development environment (IDE) that provides development productivity tools and debugging capabilities.


2 Answers

CLRProfiler can capture/display CallGraph: http://www.scribd.com/doc/3376247/CLRProfiler.

The file format is documented, so you can add your own analisys.

like image 171
Feng Yuan Avatar answered Nov 11 '22 13:11

Feng Yuan


ANTS lets you visualize the call graph. Not precisely what you're looking for, but it might help. They have a 14 day trial and if you decide to buy it, it's well worth the money for profiling your .NET apps.

The .NET Memory Profiler lets you view instance graphs as well. A bit less spendy than ANTS and might do what you need to do.

like image 44
JP Alioto Avatar answered Nov 11 '22 13:11

JP Alioto