我用c写的程序,主要处理大量文本文件的校验,编译直接运行以后,结果是错误的。但debug单步调试结束后却得到正确结果,这是为什么啊?
而且最后在程序结尾的“}”那一步弹出一个对话框,提示找不到crto.c文件,让我选择路径!!
这是为什么啊
我没有使用crto.c这个文件啊!!!
求救ing!

解决方案 »

  1.   

    搜索一下工程,看是否用到crto.c文件
      

  2.   

    类似的问题我碰到过,但不是文件校验,而是Socket通信的问题。当时我运行就出错,Debug却没有问题。后来我才发现,运行的时候,有某段程序是连续发送的数据,导致对方接收的时候出现错误。因此,我考虑你的程序可能是你在处理文件的时候出现了错误。。当你出现错误的时候,不要关闭,如果是异常窗口,你选择“取消,进入调试窗口,然后,选择Call Stack查看调用的函数,一般可以定位到那个函数的错误。然后在慢慢调试吧。
      

  3.   

    在Call Stack
    中:mainCRTStartup() line 206 + 25 bytes
    KERNEL32! 7c816d4f()
    这有问题么?
      

  4.   

    你把Call Stack中的所有信息都贴出来看看.
      

  5.   

    ctr0.c是C的运行库的源文件mainCRTStartup() line 206 + 25 bytes
    KERNEL32! 7c816d4f()
    这应该是没什么问题的。
      

  6.   

    最后在程序结尾的“}”那一步弹出一个对话框,提示找不到crto.c文件,很正常。
    因为你用F11期望跟进去,但事实上你没有源码。
    最后在程序结尾的“}”用F5过就行了,里面不过是些清理动作没什么可看的。