Finally an improved debugger's Step Into feature

by Miha Markič 13. January 2007 14:56

Finally we got an improved VS' Step Into feature. But what is wrong with actual one? Let's see an example:

public static void Main() { SomeMethod(SomeField, GetSomeValue()); } private void SomeMethod(bool flag, int value) { ... } private bool SomeField { get { bool result = ... ... return result; } } private int GetSomeValue() { .... return number; }

Imagine you are positioned before SomeMethod gets invoked and you want to step into SomeMethod directly. Untill now you've got an annoyance here. The only option was to set a breakpoint at the beginning of SomeMethod and Step Over or run the code and wait for breakpoint being hit.

If you instead choose Step Into then you would step into each of the parameters being passed before stepping into SomeMethod, in my case a property and another method.  Highly annoying.

OK, there is also a DebuggerStepThrough attribute which you can apply at design time to a property or to a method. At the runtime the debugger won't step into methods or properties decorated with this attribute. But this option is very rigid as you have to decide at design time and you can't change it during execution. Plus it requires source code modifications.

So people have been waiting for direct step into (or whatever you want to call it) since the beginning of VS creation. No luck so far, [MS] apparently didn't hear on this ear. Instead, fine [DevEx] folks decided to implement it by themselves and put the feature into the latest incarnation of CodeRush. Yes, by installing CodeRush 2.1.1 or newer you get direct step into through the Shift-Ctrl+F11 (configurable) shortcut. No more ad-hoc breakpoints, no more countless hours of stepping into just to get into the right method - hit Shift+Ctrl+F11 and there you go directly into the method you want.

If you are still undecided whether to install CodeRush or not, this is a perfect reason to install it. Besides this handy feature there is a lot, lot more that CodeRush brings you.

Tags:

DevExpress | .net

Comments (2) -

David
David
1/17/2007 11:01:10 PM #

Have you read Mark's blogs at the end of the last year? Here are three hillarious posts on how he implemented "Step into member" feature:

www.doitwith.net/.../ChristmasCancelledAgain.aspx
www.doitwith.net/.../SteppingIntoMembers.aspx
http://www.doitwith.net/2006/12/24/ChristmasSaved!(resolvedAmbiguityWithStepIntoMember).aspx

Reply

Miha Markic
Miha Markic
1/18/2007 11:22:14 AM #

Yep, of course I did. Smile

Reply

Add comment

  Country flag

biuquote
  • Comment
  • Preview
Loading

Miha Markic

About me
Righthand
 
Microsoft MVP
 
Developer Express' DXSquad
INETA Country Leader for Slovenia
INETA Country Leader for Slovenia

Slovene Developer Users Group Lead
Friends of Red-Gate
LLBLGenPro Partner

Miha currently works as a free lance consultant and software developer specialized in .net area.
He graduated in Computer and information science at the University of Ljubljana, Slovenia. He has accumulated experience in various programming languages such as Java, Visual Basic 3-6 (MCP), Visual C++, Delphi, C# and VB.Net through years.
He has experience in practically all (technical) stages of project development, including planning, framework development, user interface, business processes, as well as testing and documenting. He has worked on big and small projects in Slovenia and abroad (e.g. participated in completing level 3 IS for the Nucor steel plant, Hertford, USA).
Currently he enjoys programming in .net environment using C#. Since 2000 he has been active in Developer Express' DX Squad and has been ECDL trainer and tester. He also gives lectures on conferences and other events in Slovenia.

Month List

Tag cloud

Most comments

Paulius Paulius
1 comments
us United States
Meh Meh
1 comments
us United States
bart dm bart dm
1 comments
nl Netherlands

RecentComments

Comment RSS