VERSION|0.4.7.1|SUBJECT|NoStepInto (StepOver) with VS.Net 2003 (7.1)|CONTENT|[b]Problem:[/b]

NoStepInto does not work with VS.Net 2003 on Windows 2000.  Sure it is an [i]undocumented[/i] feature, but hey, it&#039;s quite handy, and would be nice to have.

[b]Longer description:[/b]

When you hit F11 in VS.Net to step into a function, sometimes you don&#039;t want it to step into certain things, like basic_string constructor, etc.
Visual Studio 6.0 had a way of disabling stepping into certain functions via the autoexp.dat file, but with VS 7.0 and later, you accomplish it by setting certain values in the registry.

Refer to [url=http://blogs.msdn.com/andypennell/archive/2004/02/06/69004.aspx]this[/url] page to see more about NoStepInto and how it works.

Refer to [url=http://www.dotnet247.com/247reference/msgs/40/200837.aspx]this[/url] page to see the problem with Win2k and the solution Jan Bares came up with.

[b]Cause:[/b]

So, after reading that, you can see that because of bug in MS code, a certain variable goes uninitialized, and therefore the GetRegistryRoot function fails, and therefore NoStepInto functionality doesn&#039;t work.  Now, was this done intentionally, to &quot;encourage&quot; people to upgrade to Windows XP? I don&#039;t know.

[b]Fix:[/b]

Well, Jan Bares already came up with the solution, which is a hack/patch to the NatDbgDE.dll file, but unless you have access to a disassembler and can figure out how to download the symbol information, it&#039;s probably not going to be that easy for you to figure out where the patch goes.  

Just nop out the eight bytes starting at offset 0x15103.  (Oh, and don&#039;t forget to make a backup of your DLL first.)

Hope it works for you too!|CATEGORIES|2|DATE|1130392800