void print_message(void);
void print_message(void)
	printf("This is a bug\n");

int main()

I'm using VS 2005 SP1+SP for Vista on Vista buisness and as I wrote in Title when I have functions in my programs and I start debugging F10..F11, and debugger encounter a function instead to the fuctinon it goes to Assembly code <crtexe.c....why not crtexe.cpp?>and as you see I don't have logical bug(That would take me to assembly....)
I can't use debugger no more

Do you have your debugging switches set up correctly? If you're not storing debugging information then the only thing the debugger can do is take you to a disassembly.

my debugger is set up correctly. I have called my friend how is programming for ages and we checked all parameters now I am uninstalating VS and WTF in middel of uninstalation MessageBox this app must be closed 2849 and what is that Machine Debug Menager-some kind of Vista Service, and best of all it can not be stoped so I had to ignorit.I am returning to XP and Linux

What narue meant - flags were set so the compiler put symbol names in the image file. When flags are set NOT to output symbols, then you get assembler.

In Visual Studio 6, by default it creates 2 configurations "Win32 - Debug" and "Win32 - Release". The way to go to debug build is somewhere you have an option (think in Project menu) to "Set active configuration". There ensure that you've selected "Win32 - Debug".
One way to know which configuration you have selected is to look at the name of your output directory:
- debug means "Win32 - Debug"
- release means "Win32 - Release" => This is where you get assembly code.

This article has been dead for over six months. Start a new discussion instead.