How to disable disassembly window in VC++ 2005?

H

Herhor

Hello!

I have already started C++ programming with VC++ 2005 Express Edition.
Unfortunately during debugging one of my first programs I had to
unintentionally enable some debugger configuration feature which turns
on Disassembly Window at the end of every my program (basic example below).

int main()
{
//some instructions;
// ................here when F10 pressed
}


Could you tell me how to disable this feature because low-level
debugging isn't necessary yet in my situation at all.
 
N

Nathan Mates

here when F10 pressed

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." 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).

The only way I've found around the "F10 means step in disassembly"
bug is Tools -> Options... -> Debugging -> General, and uncheck [x]
Enable address-level debugging. That'll prevent the disassembly view
from appearing. And, any memory windows too, unfortunately. What I
usually have to do is turn off address-level debugging. If I re-enable
it later, F10 doesn't go back to the assembly single-stepping. Until I
need to look at the disassembly.

Nathan Mates
 
H

Herhor

Nathan Mates pisze:
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."

Shit! 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]
Enable address-level debugging. That'll prevent the disassembly view
from appearing. And, any memory windows too, unfortunately. What I
usually have to do is turn off address-level debugging. If I re-enable
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...
 
H

Herhor

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.
 
H

Herhor

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.
 
N

Nathan Mates

Shit! 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
 
B

Ben Voigt [C++ MVP]

Herhor said:
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.
 
H

Herhor

Ben Voigt [C++ MVP] pisze:
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.
 
B

Ben Voigt [C++ MVP]

Herhor said:
Ben Voigt [C++ MVP] pisze:
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.

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.
 
H

Herhor

Ben Voigt [C++ MVP] pisze:
Herhor said:
Ben Voigt [C++ MVP] pisze:
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.

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.

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! :)
 
B

Ben Voigt [C++ MVP]

Herhor said:
Ben Voigt [C++ MVP] pisze:
Herhor said:
Ben Voigt [C++ MVP] pisze:

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.

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.

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! :)

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.
 
O

Omar Abid

Hello!

I have already started C++ programming with VC++ 2005 Express Edition.
Unfortunately during debugging one of my first programs I had to
unintentionally enable some debugger configuration feature which turns
on Disassembly Window at the end of every my program (basic example below).

int main()
{
//some instructions;
// ................
here when F10 pressed

}

Could you tell me how to disable this feature because low-level
debugging isn't necessary yet in my situation at all.

use msil dissambler
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top