0xc000007b Error : how to analyze using Process Monitor

0

Another error at startup of my basic app which only tests my DLL (the core deliverable of my project) by calling its init method. I have analysed what happens using Process Monitor, and filtered according to process name, looking only for events related with my the main executable of my basic app.

What should I be looking for there ? I guess anything that says SUCCESS in the result column does not point to the problem - but what about the rest ? It seems to be looking for my DLL all over the world although it first tried in the current directory and found it there already ...

An excerpt here, saved from ProcMon in CSV format : http://pastebin.com/YHSeQUk0

As I said it tries to open my DLL in many places (following my PATH environment variable ?). When looking for it in the correct folder (which is the same as where the exe is located and running) it goes through a series of actions which mostly end up in SUCCESS (if not otherwise specified):

  1. IRP_MJ_CREATE
  2. IRP_MJ_CLEANUP
  3. IRP_MJ_CLOSE
  4. IRP_MJ_CREATE
  5. FASTIO_ACQUIRE_FOR_SECTION_SYNCHRONIZATION (result is : FILE LOCKED WITH ONLY READERS)
  6. FASTIO_ACQUIRE_FOR_CC_FLUSH
  7. FASTIO_ACQUIRE_FOR_SECTION_SYNCHRONIZATION (result is SUCCESS)
  8. FASTIO_ACQUIRE_FOR_CC_FLUSH

It does all of this a second time later. To me this looks ok. No other DLL-related event show up.

There is this other event at the top : RegOpenKey in HKLM\System\CurrentControlSet\Control\Srp\GP\DLL which first results in REPARSE and then in NAME NOT FOUND. But many things happen afterwards, this doesn't look like a blocking point - and anyhow no clue what this is about.

dumpbin /dependents ConsoleApplication1.exe yields the following :

File Type: EXECUTABLE IMAGE

Image has the following dependencies:

uss_map_interface.dll
VCRUNTIME140.dll
api-ms-win-crt-runtime-l1-1-0.dll
api-ms-win-crt-math-l1-1-0.dll
api-ms-win-crt-stdio-l1-1-0.dll
api-ms-win-crt-locale-l1-1-0.dll
api-ms-win-crt-heap-l1-1-0.dll
KERNEL32.dll

The first one is my dll. If I remove it the message at startup turns into "uss_map_interface.dll is missing from your computer" - so I cannot believe this woukld be related to my DLL ... all the other I found in Windows/System32 or SysWOW64.

I am compiling both my DLL and the test basic app with MVS Express 2015 (v140) with x64 configs. The problem also appears if I change to x86 configs. The funny thing also is that if I compile my DLL with MinGW in a Qt project - it works fine. If that can provide a hint, here follow the dependencies of the Qz/MinGW-compiled version :

File Type: DLL

Image has the following dependencies:

libgcc_s_dw2-1.dll
KERNEL32.dll
msvcrt.dll
libstdc++-6.dll

Anyhow, thanks in advance !

c++
qt
dll
visual-studio-2015
asked on Stack Overflow Oct 4, 2016 by Charles • edited Oct 4, 2016 by Charles

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0