我有一个非常大的程序(这就是为什么我不会显示代码),它有一个quit()
函数可以打印所有错误并打印退出消息,无论发生什么该程序将达到quit()
功能。
问题是,当我运行程序时,有时它到达所述quit()
方法并打印退出方法,有时它不会,它结束而不打印退出消息。我不知道为什么会发生这种情况,更奇怪的是,当我调试程序时,它始终有效。
我读到调试器具有某些功能,可以减少崩溃。
你能告诉我哪里出现了不一致之处,我应该怎么做才能解决它。
注意:我的程序是用C语言编写的,我用Visual Studio 2013(C ++)编译。
感谢。
解决:问题是我访问未分配的内存(我动态分配,但还不够)。在我的案例中的解决方案是realloc()。
答案 0 :(得分:1)
你没有像我在评论中讨论的那样在initializeOptions()中设置main的cryptoKey。 (而是覆盖参数值。)如果以后使用该密钥(因为已经设置了加密方法),它将指向任意内存。
答案 1 :(得分:0)
我想我弄清楚出了什么问题,fileNames为char *分配了2个位置,当我分配更多的地方然后我给它命名,然后它起作用,我只需要realloc。