Thursday, January 13, 2011

Hawkeye - The .Net Runtime Object Editor

Project Description
Debugging a managed Windows application is, most of the time, not an easy task. Thus, any tool that can help will make your life easier.
Hawkeye is the only .Net tool that allows you to view, edit, analyze and invoke (almost) any object from a .Net application. Whenever you try to debug, test, change or understand an application, Hawkeye can help.
With a unique option to Attach to any running .Net process, Hawkeye offers an impressive set of functionalities seen in no other product.
Features

  1. Attach to any .Net Process.
  1. Hawkeye can be injected in any .NET process allowing you to easily hook and modify other processes.
  2. You can even hook into Visual Studio and modify some of its (.NET) properties (E.g.: the Properties Editor from VS).
  3. Since version 1.1.9, Hawkeye has support for 64bit so you can now attach Hawkeye to any x86 or x64 process.

  • A properties editor like the VS editor that can be used to change the properties of any object or control at runtime.



  • Shows you all the properties that are defined on an object (even if they are not normally visible in the designer).



  • Shows you all the fields of an object organized by the class in the hierarchy that owns that property.



  • Shows all the methods of an object organized by the class and visibility of the method.


    1. Provides a simple way to invoke methods on objects and pass arguments on any method (public, private ...).

  • Shows you all the events defined on an object and all the event listeners registered to listen to a specific event (e.g.: Form_Load).


    1. You can even Invoke an event listener.

  • Shows process information including static information about Application, CurrentContext, CurrentThread, CurrentPrincipal, CurrentProcess, and garbage collection.



  • Supports back/forward navigation between the last edited objects, and supports navigation to child items in collections, enumerations or arrays (E.g.: the Controls collection of a Control).



  • Changes that you do to the code can be logged as C# code that can be just Copy&Pasted back into code.



  • How about "Show Source Code"?


    1. You just started in a new project and you don't know where to start? Select your element, open Red Gate's .NET Reflector (formerly Lutz Roeder's .NET Reflector) and select Show source code. Hawkeye will immediately ask Reflector to show you the source code of the selected element being it a field, property, event, method or class.

    Read more: Codeplex