Domanda

When launching my app, I'm getting the below error dialog. I understand this indicates a problem loading the runtime library. The problem is, I'm not seeing any way to get more specific info. Which library? What was the exact problem it had when loading? etc.. System event viewer doesn't have any entries for it. Are there any tricks to finding out exactly which library it was trying to load when it hit the error and what the specific problem was?


Microsoft Visual C++ Runtime Library

Runtime Error!

Program: exe path

R6034
An application has made an attempt to load the C runtime library incorrectly.
Please contact the application's support team for more information.*

My current approach for dealing with runtime lib dependencies is to scan the install directory, extracting out the embedded manifests for the .dll and .exe files and then generating .config and .2.config files to re-direct to the minor versions of the runtime lib I'm shipping with. In the past this has always gotten things working. Not so in this case.

This might be complicated somewhat by the fact that the calling code is native C++ but some of the DLLs use .NET. I'm calling a C++ API, but under the hood it ends up utilizing some DLLs which themselves use .NET.

È stato utile?

Soluzione

Use SysInternals Process Monitor to monitor file system access. Filter on process name and operation (CreateFile) to see what DLLs the process can't locate.

Altri suggerimenti

It could indicate a wrong version of msvcr*.dll.

You could try Dependency Walker (http://www.dependencywalker.com/) to find out where it's being linked.

Make sure you have a debug version of the code you're trying to attach to. On the Debug menu, select Attach to Process. Use processID -

Also check this -http://support.microsoft.com/kb/235434 Resolution 1

You should be able to attach to the process using Task Manager: Enable just-in-time debugging (JIT): In Visual C++, on the Tools menu, click Options. On the Debug tab, make sure that Just-in-time debugging is selected. Run Task Manager and select the process to attach to. Right-click and select Debug.

Resolution 2

Run Task Manager and get the process ID for the process you want to debug. At a command prompt enter the following:msdev -p This will start Visual C++ and will attach to the process specified.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top