调试器与运行程序之间不一致

时间:2014-07-08 17:09:17

标签: c visual-studio-debugging

我有一个非常大的程序(这就是为什么我不会显示代码),它有一个quit()函数可以打印所有错误并打印退出消息,无论发生什么该程序将达到quit()功能。 问题是,当我运行程序时,有时它到达所述quit()方法并打印退出方法,有时它不会,它结束而不打印退出消息。我不知道为什么会发生这种情况,更奇怪的是,当我调试程序时,它始终有效。 我读到调试器具有某些功能,可以减少崩溃。

你能告诉我哪里出现了不一致之处,我应该怎么做才能解决它。

注意:我的程序是用C语言编写的,我用Visual Studio 2013(C ++)编译。

感谢。

解决:问题是我访问未分配的内存(我动态分配,但还不够)。在我的案例中的解决方案是realloc()。

2 个答案:

答案 0 :(得分:1)

你没有像我在评论中讨论的那样在initializeOptions()中设置main的cryptoKey。 (而是覆盖参数值。)如果以后使用该密钥(因为已经设置了加密方法),它将指向任意内存。

答案 1 :(得分:0)

我想我弄清楚出了什么问题,fileNames为char *分配了2个位置,当我分配更多的地方然后我给它命名,然后它起作用,我只需要realloc。