http://www.perlmonks.org?node_id=1006904


in reply to Re^2: if Digest::SHA1 loaded Can't load LibXML/LibXML.dll Invalid access to memory location
in thread if Digest::SHA1 loaded Can't load LibXML/LibXML.dll Invalid access to memory location

Dependency walker can "profile" a process, menubar->profile->start profiling, it will log every DLL static and dynamic linked during the whole run life of the process.

Since I assume you are using Mingw, you need to compile the XS module without "-s" so it has debugging info then use the gdb infrastructure so you have symbols and can see the original C code and original var names. I can't give any specifics to WinDbg since its UI is much more difficult than VS Debugger. You probably have to goto disassembly window in WinDbg, see the current instruction address, or use register EIP in the dump above. Then figure out which mapped into address space DLL that EIP falls into. You can use http://virtualmemorymapview.codeplex.com/releases/view/28113 or MS's VMMap to see where the DLLs are in that processes memory.
  • Comment on Re^3: if Digest::SHA1 loaded Can't load LibXML/LibXML.dll Invalid access to memory location

Replies are listed 'Best First'.
Re^4: if Digest::SHA1 loaded Can't load LibXML/LibXML.dll Invalid access to memory location
by Anonymous Monk on Dec 03, 2012 at 17:52 UTC

    Dependency walker can "profile" a process, menubar->profile->start profiling, it will log every DLL static and dynamic linked during the whole run life of the process.

    I don't see any "profile" option

      Well, I managed to "see" it, but it is persistently greyed out, how do you turn it on?
        Open perl.exe, not somexsmodule.dll. Then it will not be greyed out.