I have following basic questions :
When we should involve disassembly in debugging
How to interpret disassembly, For example be
When you should involve disassembly: When you exactly want to know what the CPU is doing when it's executing your program, or when you don't have the source code in whatever higher level language the program was written in (C++ in your case).
How to interpret assembly code: Learn assembly language. You can find an exhaustive reference on Intel x86 CPU instructions in Intel's processor manuals.
The piece of code that you posted prepares arguments for a function call (by getting and pushing some values on the stack and putting a value in the register eax
), and then calls the function getRequiredFields
.