Nathan Mates pisze:
>>>> return 0; // debug caret placement -> Disassembly Window emerges
>> here when F10 pressed
[quoted text clipped - 4 lines]
> matter if I've gone back to the source; it says "here's more
> disassembly."
sh.t! I don't know what is going on because VC++ is a decade long MS
product line, so it should be such silly bug free...
> Do you have focus-follows-mouse turned on via the MS
> Powertoys? I have that on, and although DevStudio (except for VC++ 6,
> the only version to get it right) is stupid about autoraise (I usually
> mutter "down, boy" -- DevStudio's autoraise is like a dog trying to
> hump your leg).
No, I probably don't. But what do you mean "MS Powertoys" ?
> The only way I've found around the "F10 means step in disassembly"
> bug is Tools -> Options... -> Debugging -> General, and uncheck [x]
[quoted text clipped - 3 lines]
> it later, F10 doesn't go back to the assembly single-stepping. Until I
> need to look at the disassembly.
I also discovered and unchecked this option but instead of Disassembly
Window some stupid VC++ warning "There is no source code available for
the current location" emerges when F10 pressed. So there is no better
anymore.
Besides I think this behavior must be connected "Debug Information
Format" settings because if I change it, Disassembly Window appears more
or less often. You could examine this yourself if you wish...
Nathan Mates - 21 Jun 2007 21:14 GMT
>> I have exactly the same problem, and it drives me nuts that a bug
>> like this could ship. *EVERY* *BLOODY* *TIME* I hit F10, it goes into
>> the disassembly, if I've ever once looked at the disassembly. Doesn't
>> matter if I've gone back to the source; it says "here's more
>> disassembly."
>sh.t! I don't know what is going on because VC++ is a decade long MS
>product line, so it should be such silly bug free...
This bug is new with 2005. Never had it in VC6, 2002, or 2003.
It's still REALLY annoying when it happens. Here's a hint, MS: if
disassembly view is off, and I have no breakpoints placed in the
disassembly before the next line (or in the current function, for that
matter), then I don't want to see the disassembly.
Nathan Mates
--
<*> Nathan Mates - personal webpage http://www.visi.com/~nathan/
# Programmer at Pandemic Studios -- http://www.pandemicstudios.com/
# NOT speaking for Pandemic Studios. "Care not what the neighbors
# think. What are the facts, and to how many decimal places?" -R.A. Heinlein
I also received interesting answer from one guy at MSDN forum:
You are then stepping out into the CRT calls and the VC++ 2005 _Express
Edition_ doesn't have the CRT source code. What you should do is just
press F5 there to finish it off there.
Ben Voigt [C++ MVP] - 21 Jun 2007 23:58 GMT
>I also received interesting answer from one guy at MSDN forum:
>
> You are then stepping out into the CRT calls and the VC++ 2005 _Express
> Edition_ doesn't have the CRT source code. What you should do is just
> press F5 there to finish it off there.
Well, what do you expect to happen when you step off the end of 'main'? It
is the end of your code, after all.
Herhor - 22 Jun 2007 00:10 GMT
Ben Voigt [C++ MVP] pisze:
>> I also received interesting answer from one guy at MSDN forum:
>>
[quoted text clipped - 4 lines]
> Well, what do you expect to happen when you step off the end of 'main'?
> It is the end of your code, after all.
I simply expected debugging end without opening any Disassembly Widow.
Ben Voigt [C++ MVP] - 22 Jun 2007 00:16 GMT
> Ben Voigt [C++ MVP] pisze:
>>
[quoted text clipped - 8 lines]
>
> I simply expected debugging end without opening any Disassembly Widow.
Ok, well, you aren't quite at the end of the program yet. There is still
some cleanup to be done, so you are allowed to see it. But stepping off the
end of main is pretty pointless unless you want to look at the library
cleanup, so the advice you got to hit F5 and let the program run to exit was
good.
Herhor - 22 Jun 2007 00:49 GMT
Ben Voigt [C++ MVP] pisze:
>> Ben Voigt [C++ MVP] pisze:
>>>
[quoted text clipped - 14 lines]
> at the library cleanup, so the advice you got to hit F5 and let the
> program run to exit was good.
OK. I am simply too accustomed to Borland's and GDB's debuggers because
both of them automatically end main() function without calling assembler
window to show user low level memory clean-up.
It seems I must get used to doing programs with MS VC++ IDE closer! :)
Ben Voigt [C++ MVP] - 22 Jun 2007 01:56 GMT
> Ben Voigt [C++ MVP] pisze:
>>
[quoted text clipped - 21 lines]
> window to show user low level memory clean-up.
> It seems I must get used to doing programs with MS VC++ IDE closer! :)
Well, your problem seems less severe that what other people are talking
about... that the debugger jumps to disassembly
in the middle of their code. You expected to get past your code, and have
an easy workaround. Hopefully as you use VC++ more it will seem less
strange.
I also received interesting answer from one guy at MSDN forum:
You are then stepping out into the CRT calls and the VC++ 2005
_Express__Edition_ doesn't have the CRT source code. What you should do
is just press F5 there to finish it off there.