O'Reilly logo

Windows Debugging Notebook: Essential User Space WinDbg Commands by Dmitry Vostokov, Roberto Alexis Farah

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

u, ub, uf

When debugging sooner or later we need to do code disassembly to get better understanding of our problem. By unassembling or disassembling the code we get the mnemonics translated from the 0s and 1s that constitute the binary code. It is a low level view of the code, but the higher level than seeing just numbers.

To demonstrate this command let's use the simple Visual C++ application that recursively calculates the Fibonacci number from a specific number:

#include "stdafx.h" using namespace std; // Recursive function. unsigned FiboRecursive(unsigned n, int nNum = 0) { if(n <= 1) { return n; } return FiboRecursive(n - 1, 1) + FiboRecursive(n - 2, 2); } int _tmain(int argc, _TCHAR* argv[]) { cout << FiboRecursive(5) << endl; return 0; ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required