Click here to Skip to main content
15,888,908 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
hi
i am facing a problem while debugging . I have put break points in some place to trace the code . But while pressing the F11 key and when it reach that function , a new window called disassemby is coming and showing something like this . i am pasting what is showing there



00000000 push ebp
00000001 mov ebp,esp
00000003 push edi
00000004 push esi
00000005 push ebx
00000006 sub esp,44h
00000009 xor eax,eax
0000000b mov dword ptr [ebp-10h],eax
0000000e xor eax,eax
00000010 mov dword ptr [ebp-1Ch],eax
00000013 mov dword ptr [ebp-3Ch],ecx
00000016 mov dword ptr [ebp-40h],edx
00000019 cmp dword ptr ds:[08B01FC0h],0
00000020 je 00000027
00000022 call 70E465B7
00000027 xor edx,edx





So i couldnot trace the actual code ,i closed the apliation and opened it again and i restarted the machine ,but no effect.

So if anybody knows how to get out of this situation . please help me





thanks in advance
Posted

In general, the debugger steps through the (native) assembly code behind the scene.

For people fluent in reading assembly code, this is no big deal - for the rest of us this is a monumental obstacle...

To ease debugging, there is additional information generated while compiling to associate assembly code lines with source code lines. This allows to get from an assembly line the respective source code line that generated that assembly code.

I assume you work in some version of Microsoft Visual Studio.
In the case of Visual Studio debugger, this cross-reference information is stored in the so called PDB file.

Your debugging session now obviously does not know, where to take the associated PDB file from.

If it's your code, check the build options to generate te pdb file.
If it's 3rd party code, check if there are PDB files available and refer to them in the debugging option.

If you end up in an assembly code, you may jump out by Shift-F11 from the function you went into.

Cheers

Andi
 
Share this answer
 
 
Share this answer
 
That looks to be x86 assembly code, so the best guess is that you have used F11 (or step-into) on a native function rather than a .NET function.

Try using F10 (step over) instead - if it is a native function, then the source will most likely not be available, so VS is doing the best it can by disassembling it.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900