Microsoft Binary Technologies and Debugging

Midway upon the journey of our life I found myself within a forest dark, For the straightforward pathway had been lost. [INFERNO CANTO 1] In the world of debugging, one could easily get lost without sufficient knowledge of the underlying mechanism. While well known examples being DLL (Dynamic-Link Libraries), FPO (Frame-Pointer Omission), LTCG (Link-time Code Generation),…

0

A Debugging Approach to OutputDebugString

Using OutputDebugString is a common debugging technique for user mode debugging. It is easy but quite useful if you are debugging services or trouble shooting loader problem. #define WIN32_LEAN_AND_MEAN #include <Windows.h> int __cdecl main() {   OutputDebugStringA(“Hello, world! (first chance)\n”);   OutputDebugStringW(L”Hello, world! (second chance)\n”); } When you debug this demo application using Visual Studio, you would see the text messages from the Output window: And if you…

0