seeking tool for tracking dlls

I'm looking for a tool replacement and hoping someone might be able to make a recommendation.

The tool OpenTrap was an old favorite of mine. I'd run OpenTrap and then launch whatever application I was trying to get more information on. OpenTrap would show me every supporting file the application relied on. It would show from which directory the file was being loaded - this last part was helpful when I was trying to track down dll conflicts. I could see when an application called the wrong dll because the app was loading from windows\system when it should have been loading from the application directory.

It was a great tool for finding dependencies. It sometimes answered the issue of - it works on my machine - since I could use the tool to see not just dll dependencies but dlls that call other dlls.

I gained deeper knowledge of the application I was testing when I used to track the dependent dlls and then look up core dlls to find out what function each dll handled. I've looked around for a tool replacement but haven't found anything yet. I don't need a process viewer and I'm not looking for a dll repair utility. I want to see every dll being loaded by an application and I want a tool that works on Vista.

Suggestions?

Comments

sysinternals.com used to have a tool called FileMon that did something similar. They've been borged into Microsoft now, and you can find FileMon on Microsoft's site. I haven't tried FileMon with Vista.

You could probably use FileMon instead:

http://technet.microsoft.com/en-us/sysinternals/bb896642.aspx

I use Process Explorer constantly for things like this - but I guess it's a process viewer, so may not fit your criteria. It's probably worth checking out though.

Process Explorer looks like a possible option. I've been checking it. The mouseover on files gives a brief description which is nice - could be helpful when tracking down a rogue dll. Thanks for sharing.

I think I've found a workable combination - let me share this in case anyone else is looking for the same. (There are other options but not many that work with Vista.)

DLL Toys, from Tucows (I might have known). See: http://www.tucows.com/preview/378407 The tool is Process Viewer.

If you drill into a process you can find the dependent modules. I'm not wild about the display but this might be workable. Here's the feature I need - if you select a running exe, you can view information on the file and from that view, select to display dynamic links. That combination gets me what I need - which is to see all the dlls an exe is using - including dlls not loaded on exe startup (but that are loaded later).

If you use the module view, you can idenitfy all running processes referencing a dll. So there is a way to view dependencies from both directions.

DLL Toys offers an import checker as well that sounds closer to an OpenTrap replacement through the exe utility. I haven't checked that out yet.

To look up dll details, these sites are helpful:

http://www.file.net/process

http://www.processlibrary.com/directory

Karen - check out http://www.dependencywalker.com/

From the website

Dependency Walker is a free utility that scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules. For each module found, it lists all the functions that are exported by that module, and which of those functions are actually being called by other modules. Another view displays the minimum set of required files, along with detailed information about each file including a full path to the file, base address, version numbers, machine type, debug information, and more.

Dependency Walker is also very useful for troubleshooting system errors related to loading and executing modules. Dependency Walker detects many common application problems such as missing modules, invalid modules, import/export mismatches, circular dependency errors, mismatched machine types of modules, and module initialization failures.

Adam - thanks for mentioning the tool. I used to use this ... I didn't think the tool was updated to work with Vista. (Maybe it wasn't a few months ago). Glad I'm wrong about that ... will be good to add it back to my utility set.

Thanks ... looks like for Vista, I'd need Process Monitor.