我有一个复杂的C ++ / CLI应用程序,包含许多模块(几十个),有些管理不受管理。最近我们从Visual Studio 2013切换到Visual Studio 2015.它在某些计算机上工作但在其他计算机上没有。
当程序无法正常工作时,它甚至会在主要的第一行之前崩溃。它会在_onexit
中报告访问冲突异常。当忽略一些异常和断言时,我发现<Module>
扔了一个TypeInitializationException
。
问题是 - 我不知道哪一个。我可以看到在输出窗口中加载DLL的时间。要加载的最后一个DLL是System.dll
- 当然我的bug不存在。所以我需要一种方法来跟踪托管DLL中的静态变量初始化,这样我就可以找出哪个DLL存在问题,然后我就可以找到有问题的初始化。
我该怎么做?