(a)First-chance exception in Inventory.exe (COMCTL32.DLL): 0xC0000005: Access Violation.
(b)First-chance exception in Inventory.exe (ODBC32.DLL): 0xC0000005: Access Violation.我的程序出现以上两个错误,其中(a)出现只在 Debug 时,对程序运行不影响,但(b)却导致程序退出了。
我搜索了一把,发现遇到这种情况的兄弟一堆,看完所有的回复后,还是没有答案!问题:
(1)对于以上错误(a),因为它出现只在 Debug 时,对程序运行不影响,调试时也不会停下给出提示,所以想找出是那条语句导致的,很艰难,不知大家有什么好办法?
(2)对于错误(a),有人说可以不理会,不知此说法对不对?
(3)那位大虾能对类似的错误进行总结,让小虾们少走点弯路。

解决方案 »

  1.   

    Access Violation是由于非法内存访问引起的,
    1.这是严重错误, 绝不可以不管。
    2.非法内存最常见的原因是指针指向了错误的内存
      1)定义指针, 没分配内存就使用。
      2)该指针指向的内存已无效。
      3)指针或数据组越界3. 其中第三条最讨厌。 越界后改变了其它变量的内容,
       然后导致的错误会出现在其它语句, 错误也会千奇百怪。
       VC不能直接查出错的语句。 
      

  2.   

    首先找到程序出错的地方,也就是哪段程序出错了!
    (如果找不到出错的程序段,那就没办法了)!
    1、如果是自已内存非法访问改正!2、但有的程序是的运行的时候别的条件导致出错,可以用下面的方法解决!
    try
    {
    //YOu programme
    }
    catch(...)
    {
    //Clear Error
    }
      

  3.   

    很简单,首先按F5进入,出错后工具栏上有个CALL STACK按钮,点击就知道究竟是哪里导致错误.