Setup DotNetPeek for debugging any of your 3rd party assemblies


1. Install DotPeek

If you have not setup and install .Net Peek, please do so now from here.


2. Setup Symbol server

Next setup your Visual Studio IDE. I'm using VS2015. Goto Tool->Optoins->Debugging

1. Uncheck - Enable Just My Code

2. Check - Enable source server support.




Add an entry as follows  http://localhost:33417 to VS2015 Tool->Optoins->Debugging->Symbols tab



Let say we are going to step through NInject codes. Lets create an empty project. I'm going to create a MVC project and then use nuget to pull ninject into our project

Install-Package Ninject -Version 3.2.2

Next, open dotPeek and add ninject assembly into Assembly Explorer as shown below :-




Next, click on Start Symbol server as shown below :-




Lets copy and paste some code and start debugging our application.

Please create a new file and paste the following codes in it.

    class Samurai
    {
        readonly IWeapon weapon;
        public Samurai(IWeapon weapon)
        {
            this.weapon = weapon;
        }

        public void Attack(string target)
        {
            this.weapon.Hit(target);
        }
    }

    interface IWeapon
    {
        void Hit(string target);
    }


Next modify our HomeController class as follows and set a break point on the Index() method.

 public class HomeController : Controller
    {
        public ActionResult Index()
        {
            IKernel kernel = new StandardKernel();  /// <- a="" break="" here="" p="" point="" set="">            var samurai = kernel.Get();
            return View();
        }
    }


Press F5 and debug your application. Verify that ninject modules is loaded by going into Debug->Windows-Module or press Ctrl + Alt + U as shown here.




You'll be able to step into ninject codes by pressing F11.

That's it.



Comments

Popular posts from this blog

OpenCover code coverage for .Net Core

ionic2 cordova build android - Unable resolve gradle 2.2.3

Using Custom DLL with IronPython / Scripts