Software in a box

Developer Playground

Background

Developer Playground started out as an idea for an application to trace any program's runtime behavior. Jonas had previously built ComTrace, but felt it was time to conquer non-COM apps as well.

So, we started thinking, and this is what we came up with. A developer's playground, with the following functionality:

  • Shows run-time DLL dependencies for running processes
  • Hooks any process, and tracing single calls to external DLLs
  • Integrates with favorite tools such as Google, OleView, Depends and the Explorer
  • Saves trace output to text file
  • Comes with semi-integrated HTML help (not that it's necessary)
For an appetizer, this is what it looks like:

Developer Playground Screenshot

Developer Playground can only monitor interactions between a process and its loaded DLLs, and between DLLs within a process, but can't give any more detailed information about calls within the .EXE or within DLLs. Nevertheless, it is a powerful tool in the hands of a developer.

Typical usage would involve:

Spelunking — If you're ever curious what goes on behind the scenes, and why Windows is not behaving the way you'd expect it to, fire up Developer Playground and find out at least what the call-chain looks like.

Debugging — Do you have a problem that only manifests itself on some machines? No matter how much debug logging you add, you can't seem to track it down? Developer Playground shows you the program flow without your having to add specific debugging code or single-step through optimized assembly code.

Reverse-engineering — Are you trying to mimic functionality you've seen somewhere, but you can't figure out how they did it? Trace the target application and find out.

Pre-requisites

In order to run Developer Playground you need either of the following operating systems:

  • Windows 2000
  • Windows XP
  • Windows Server 2003
If demand grows strong we will consider making it available for NT4 as well, while the Win9x family can and will not be supported.

Version History

Version 1.1 — 2003-09-28

  • FIX: Right-click behavior is now consistent throughout the application
  • FIX: All options are properly persisted to registry (Auto-scroll most notably)
  • NEW: Rewrote the communications layer between hooking code and UI — much better stability and performance
  • NEW: Improved Active Hooks dialog — now properly resizable and supports unhooking on any level of the tree
  • NEW: Double-click on a function toggles hook status
  • NEW: Added trace index to trace listview
  • NEW: Lots of minor cosmetic fixes

Version 1.0 — 2003-08-28 — First public release

Known Issues

Known issues in the latest version:

DescriptionStatus
Excessive screen flicker with Find/Find NextFixed, under test
Can't hook export forwardersInvestigating
Check for DEPENDS.EXE existence only works if no path is specifiedFixed, under test
Context-menus only work as expected when DP is located on primary displayInvestigating
Please let us know if you find any more issues.

Download

Click here to download an installer for Developer Playground. Execute the downloaded binary to install. Current version does not run on Windows Vista and Windows 7 - a fix is underway (which will also show parameter values).