The frames on the call stack will be wrong if you have stack corruption, if you have functions written in assembly language, or if there are operating system frames without matching symbols on the call stack. The frames that you see on the call stack are almost always correct, however, assuming you have symbols for all frames. Positions inside a function, which are changed when the optimizer merges blocks of code.įunction names for frames on the call stack, which might be wrong if the optimizer merges two functions. Local variables, which can be removed by the optimizer or moved to locations the debugger does not understand. Because of this rearrangement, the debugger cannot always identify the source code that corresponds to a set of instructions. This results in more efficient compiled code. When the compiler optimizes code, it repositions and reorganizes instructions. This includes improved support for debugging local variables and inlined functions.Įdit and Continue is disabled when the /Zo compiler option is used. The /Zo (Enhance Optimized Debugging) compiler option (introduced in Visual Studio Update 3) generates richer debugging information for optimized code (projects that are not built with the /Od compiler option.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |