我有一个进程,直到今天我一直在调试模式下构建,它的行为就像我期望的那样。如果抛出了异常,我会对其进行调试并修复问题。
现在我在发布模式下构建我的进程,但是它会抛出异常,当我在调试模式下运行它时不会。
我想调试它,但在调试模式下编译器保护内存和其他东西,我不能捕获那些异常。
是否有一种方法可以使调试模式抛出发布构建将抛出的异常?
有点瞎想,但是调试构建和发布构建之间的一个标准区别是,调试构建中的所有变量都是初始化的,而不管您是否在代码中实际这样做,而在发布模式中它们不是。因此,检查您的代码并确保在声明时初始化每个变量,看看这是否解决了问题。
嗯…我想我明白了。
我的进程加载其他dll作为插件。
我注意到,当我在发布模式下运行进程并加载在调试模式下构建的dll时——或者相反——它会崩溃。
我猜从插件导入的一些对象在发布或调试模式下有不同的布局或大小。
如果有人能给出一个更好的解释,那就太好了。