Rubato and Chord

Reiley's technical blog

Batch File with Self-Awareness

Batch file is a double-edged sword, the good side is that batch file runs on almost all of the...

Author: Reiley Yang Date: 09/09/2013

Pop Quiz - JavaScript for Fun

Most people could write something in JavaScript, though they barely made it correct. I started using...

Author: Reiley Yang Date: 06/15/2013

Vector Deleting Destructor

Today one guy in my team asked a question regarding the behavior of delete[] operator in C++ - how...

Author: Reiley Yang Date: 05/09/2013

Undocumented Environment Variables

Although we have less Easter Eggs, there are still a huge number of undocumented behaviors. Recently...

Author: Reiley Yang Date: 05/08/2013

The Pit of Success

The Pit of Success: in stark contrast to a summit, a peak, or a journey across a desert to find...

Author: Reiley Yang Date: 04/27/2013

Error and Exception Revisited

Unless suffering is the direct and immediate object of life, our existence must entirely fail of its...

Author: Reiley Yang Date: 04/05/2013

A Debugging Approach to Windows RT

Recently I got a Surface with Windows RT. Needless to mention, it's wonderful! I've figured out some...

Author: Reiley Yang Date: 12/26/2012

Postmortem Debugging - Better Late Than Never

If there is a consistent repro, I would definitely prefer Early Debugging. However in the real life...

Author: Reiley Yang Date: 10/21/2012

Windows 8 and conhost.exe

While debugging a console application on Windows 8, I noticed the console application is trying to...

Author: Reiley Yang Date: 09/13/2012

Visualize Assembly using DGML

Starting from Visual Studio 2010 Ultimate there is a cool feature called DGML (Directed Graph Markup...

Author: Reiley Yang Date: 08/19/2012

Using Function Evaluation in WinDBG

People who develop debuggers would know in theory you cannot have a perfect disassembler (especially...

Author: Reiley Yang Date: 08/18/2012

A Debugging Approach to Application Verifier

Application Verifier, also known as AppVerifier, is a dynamic instrumentation tool for user mode...

Author: Reiley Yang Date: 08/17/2012

Collection of WinDBG resources

A list of resources related to WinDBG, debugging on Windows NT, or how to write a debugger. Websites...

Author: Reiley Yang Date: 07/28/2012

A Note for Binary Hooking and Instrumentation

One intern in my team has been working on a utility, which makes use of binary instrumentation. So I...

Author: Reiley Yang Date: 04/19/2012

x86 Linear Address Space Paging Revisited

Last time we revisited x86 segment addressing, which translates logical-address into linear-address....

Author: Reiley Yang Date: 01/07/2012

Process and Job Objects

Just like we mentioned in The Main Thread Problem, some questions do not have direct answer just...

Author: Reiley Yang Date: 12/22/2011

CRT Startup

In my previous blog Early Debugging, we've demonstrated how early can you get using a user mode...

Author: Reiley Yang Date: 12/14/2011

x86 Segment Addressing Revisited

Memory segmentation was first introduced to x86 family with 8086, to make it possible to access 1MB...

Author: Reiley Yang Date: 11/20/2011

The Main Thread Problem

Every few months I heard people asking the same question: Given a process ID (or handle), how can I...

Author: Reiley Yang Date: 11/09/2011

What is Autos Window?

The developers in Microsoft have done a great job by bringing a great number of nice features,...

Author: Reiley Yang Date: 11/07/2011

Early Debugging

Early debugging is a wide topic, on a Windows PC it might be: Application startup Service startup...

Author: Reiley Yang Date: 10/30/2011

Undocumented WinDBG

Abstraction and encapsulation are good because they make it easier to build complex systems,...

Author: Reiley Yang Date: 10/30/2011

Use Windows Debuggers for Non-Debugging Tasks

Many people who has been using Emacs for decades were shocked when they heard that Emacs is actually...

Author: Reiley Yang Date: 10/23/2011

Yet Another Hello World

Recently I heard there is a COOL programming language called C#, which runs on a popular environment...

Author: Reiley Yang Date: 09/29/2011

Side Effects of Debugger

A target program might behave differently if it is being debugged, sometimes this can be very...

Author: Reiley Yang Date: 08/27/2011

Did you know...

Have you ever seen the following window before? It was once very popular in the good old days, but...

Author: Reiley Yang Date: 08/13/2011

MACRO Revisited

Macro is powerful, but few people understand how it works. In theory, syntax highlighting for C/C++...

Author: Reiley Yang Date: 08/12/2011

Pop Quiz - Debug Event Loop and Timeslice Quota

You might have heard of the Popek and Goldberg Virtualization Requirements. In theory, debugger...

Author: Reiley Yang Date: 08/08/2011

Microsoft Binary Technologies and Debugging

Midway upon the journey of our life I found myself within a forest dark, For the straightforward...

Author: Reiley Yang Date: 08/06/2011

A Debugging Approach to IFEO

IFEO (Image File Execution Options) is a feature provided by the NT based operating system. It can...

Author: Reiley Yang Date: 07/29/2011

A Debugging Approach to OutputDebugString

Using OutputDebugString is a common debugging technique for user mode debugging. It is easy but...

Author: Reiley Yang Date: 07/29/2011

Debugging Tips for Multi-Threaded Application

Multi-threaded applications are error-prone and hard to debug, so it's worth a dedicated topic. I...

Author: Reiley Yang Date: 07/26/2011

Visual Studio Debugger or WinDBG?

Microsoft has provided a number of debuggers. Visual Studio Debugger would be the most widely known...

Author: Reiley Yang Date: 07/21/2011

Data Breakpoints

The Visual Studio debugger supports a kind of breakpoint called Data Breakpoint, sometimes it is...

Author: Reiley Yang Date: 07/21/2011

Hello, world...

Yet another Hello World... Well, my name is Reiley Yang. I'm a developer working on the Visual...

Author: Reiley Yang Date: 07/11/2011