.NET Tools

The following tools will be helpful when building your JavaBridge project:

The Good Old Timer: Dependency Walker

Even when working with managed code, the dependency walker tool still has its place. The dependency walker provides useful information about public entry point conventions. For example, each time the Windows GetProcAddress fails somewhere in your code, I recommend you use dependency walker to check that the entry point convention you’re expecting is the one that has been implemented inside the Callee’s DLL. Dependency walker shows the provided entry point to VMloader DLL to pure old legacy unmanaged C code.

New Famous Kid on the Block: ILDASM

Usually ILDASM is introduced as a tool that has been provided to unassemble managed code. ILDASM will fail to load a pure old unmanaged DLL, indicating that the CLR header is missing. But a mixed mode DLL like the resulting vmloader.dll I built does contain a CLR header and is loadable by the ILDASM utility.

Mark Russinovich’s Free Process Explorer Tool

When you need real-time information about which dll has been either loaded or unloaded and from which location, the process explorer tool is an invaluable resource [1]. This tool is useful for both the managed and unmanaged dll environment and provides a very interesting way of knowing what has been loaded into memory and where it comes from on the disk.