-2

我有一个进程,直到今天我一直在调试模式下构建它,它的行为就像我预期的那样。如果抛出异常,我会对其进行调试并修复问题。
现在我在发布模式下构建了我的进程,但是它抛出了我在调试模式下运行它时没有抛出的异常。
我想调试它,但在调试模式下,编译器保护了内存和其他东西,我无法捕捉到这些异常。

有没有办法让调试模式抛出发布版本会抛出的异常?

4

2 回答 2

0

嗯……我想我明白了。
我的进程将其他 DLL 作为插件加载。
我注意到,当我在发布模式下运行我的进程并加载在调试模式下构建的 DLL 时——或者相反——它崩溃了。

我猜从插件导入的一些对象在发布或调试模式下具有不同的布局或大小。

如果有人可以对此给出更好的解释,那就太好了:)

于 2013-05-11T18:19:41.257 回答
0

有点摸不着头脑,但调试版本和发布版本之间的标准区别是,无论您是否在代码中实际执行此操作,调试版本中的所有变量都会被初始化,而在发布模式下则不会。因此,请检查您的代码并确保在声明时初始化每个变量,看看是否能解决问题。

于 2013-05-11T15:47:23.760 回答