Essential tools for debugging and troubleshooting

Introduction

As every software developper I’ve been faced with some tricky debugging and troubleshooting issues and I’ve discovered new tools and ways to solve them over the past years.
There is a bunch of tools I often use to make my day to day life easier, and I hardly imagine working without them at my disposal.

In this series of articles I’ll present them with their main features and when possible a small example that demonstrate their usefulness.
I plan to add more articles so stay tuned!

Articles
Depends icon
1) Dependency Walker or how to track native dependencies

Procmon icon

2) Process Monitor or how to spy applications
Continue reading

Essential tools for debugging and troubleshooting : Dependency Walker aka Depends

Introduction

This is the first article of the “Essential tools for debugging and troubleshooting” series.
Visit the series main page for more information and to discover other tools.

Dependency Walker

Dependency walker (a.k.a Depends) is a simple yet powerful tool that you’ll find invaluable if you have to track the native dependencies of your components (EXE or DLL).
Dependency Walker can be used for static (without having to run any code) or dynamic analysis (with dependencies tracked while running your code).

I’ll illustrate its usefulness with a from scratch sample.
Continue reading