Отслеживание загрузки и инициализации DLL в C++/CLI

У меня есть сложное приложение C++/CLI с многочисленными модулями (несколько десятков), некоторые из них управляют некоторыми неуправляемыми. Недавно мы перешли с Visual Studio 2013 на Visual Studio 2015. Он работает на некоторых компьютерах, но не на других.

Когда программа не работает, она падает даже до первой строки основного. Он сообщает об исключении нарушения доступа в _onexit. При игнорировании некоторых исключений и утверждений я вижу, что a <Module> TypeInitializationException.

Проблема в том, что я не знаю, какой из них. Я вижу, когда DLL загружаются в окне вывода. Последней DLL для загрузки является System.dll - наверняка моей ошибки там нет. Поэтому мне нужен способ отслеживать статическую инициализацию переменных в управляемых DLL, поэтому я могу выяснить, какая DLL проблематична, затем я могу отследить проблематичную инициализацию.

Как я могу это сделать?

Ответы

Ответ 1

Ну, я чувствую себя немного глупо, но в проблеме при загрузке с исключением типа загрузки я использовал fuslogvw.

Я думаю, это должно дать вам порядок привязки dll и, следовательно, первое впечатление.