(Terminology: A "PE" is a "Portable Executable" file, on Windoze that means a DLL or EXE, and a "PE tool" is a tool that lets you peek inside these. Particularly if you want to find out what DLL functions this PE calls, aka its "Import Table", and what functions can be called in this PE, aka its "Export Table").
I just wasted 12 hours trying to find out what was "wrong" with a program … that actually had nothing wrong with it at all!
I was building a simple DLL that would make a generic DLX solver function available.
As usual, when I first created the DLL, I used a "PE tool" to check that the DLL that I had made actually exported the desired functions, and to my horror found that it wasn't exporting anything!
I checked all my existing DLL builds, and nothing was wrong there, so I found myself thinking that it must be some obscure bug in the GCC compiler/linker that was causing this. This seemed to be even more likely as the PE tool in question reported "No exports" for the 64-bit DLL build, but actually crashed when I gave it the same DLL, but built for Win32. Something dodgy in the export table, right?
12 hours later (after considerable "wailing and gnashing of teeth") I finally discovered that it was a fault in the PE tool itself - a case where a poor workman blaming his tools is justified!
The PE tool was downloaded from HERE. It generally works fine, does what it says on label, for the most part, except of course in this case. I think the bug relates to very short export tables, since this DLL only exports a single function, unlike most of the others that I have used the tool with.
Anyway, all sorted now, but can anyone suggest an alternative (freeware) PE tool?
I do have my own tool which works for Win32 PE's (DLL's, EXE's), so maybe I just need to know how to make it work for Win64 PE's, and any pointers to information that would help me to do this would also be useful.
Cheers
MM