Debug Error! R6010 -abort() has been called

时间:2022-10-08 12:58:46
程序运行发生错误,错误如下:

Debug Error!

Program:
......XXX.exe

R6010
-abort() has been called

(Press Retry to debug the application)

该错误在程序运行很少时间时,是随机发生的;昨晚用几台机器运行一晚上后,都发生了错误。
这个错误因为运行时不是每次都发生的,没法定位错误的位置,那么怎么进行调试检查?

28 个解决方案

#1


这样好像是看不出错误的...应该要不断调试,调试到错误的时候在CALL BACK里看

#2


Assert failed...???

这里有句话,可以参考:
You probably don't need that as your using VS 2010 in the DLL and your EXE, but I found that it's helpful for those who accidentally mix different versions of the CRT libraries. 
检查一下exe和dll是否混用的不同版本的crt

#3


特别纠结,不知道错误在什么地方,调试又出来来错误,怎么办啊!!

#4


用的确实是vs2010,调用了OpenCV的库和自己开发的库,都是VS2010编译的。
如果是混用不同版本库的有问题的话,难道不应该程序一运行就有错误?

#5


想知道楼主最后怎么解决?我也出现同样问题了,而且也是调用了OpenCV库~~

#6


收集一下出错时的dump文件,然后分析callstack

#7


我也遇到了这样的错误,不过最后发现 是两个线程同时读写一个变量造成的

#8


‘task manager’看看内存是不是一直在增加?

#9


引用 5 楼 feirainy 的回复:
想知道楼主最后怎么解决?我也出现同样问题了,而且也是调用了OpenCV库~~


当时后来检查发现的问题应该是多线程访问资源出的问题。

#10


引用 2 楼 ouyh12345 的回复:
Assert failed...???

这里有句话,可以参考:
You probably don't need that as your using VS 2010 in the DLL and your EXE, but I found that it's helpful for those who accidentally mix different versions of the C……

这个问题我就曾犯过.呵呵

#11


LZ解决了没?
我可能也遇到这个问题,在苹果下运行程序,也是在不确定的时间程序crash掉,同样提示是abort() called;

#12


真是郁闷啊,这样的问题最难缠了。

#13


引用 8 楼 schlafenhamster 的回复:
‘task manager’看看内存是不是一直在增加?

我今天也遇到这个问题,当时在任务管理器中看到这个程序的内存消耗的确一直在递增,而且应该是内存不够分配的时候程序出现了这个error。请问您后来是怎么解决的呢?谢谢!

#14


引用 13 楼  的回复:
引用 8 楼 schlafenhamster 的回复:
‘task manager’看看内存是不是一直在增加?

我今天也遇到这个问题,当时在任务管理器中看到这个程序的内存消耗的确一直在递增,而且应该是内存不够分配的时候程序出现了这个error。请问您后来是怎么解决的呢?谢谢!


你好,请问你最后是怎么解决的呢?

#15


有没有人可以解决的,求分享答案

#16


我也遇到这种情况。后来发现是非法指针访问和内存泄漏的问题~各位可以看一下是不是这类问题。

#17


今天遇到同样问题,有人知道怎么解决吗?

#18


引用 16 楼  的回复:
我也遇到这种情况。后来发现是非法指针访问和内存泄漏的问题~各位可以看一下是不是这类问题。


+1

#19


+++1

#20


楼主这个问题你解决了吗?我也遇到了同样的问题。。。。

#21


引用 16 楼 narusaki 的回复:
我也遇到这种情况。后来发现是非法指针访问和内存泄漏的问题~各位可以看一下是不是这类问题。

请问一下,最后是怎么解决这个问题的?

#22


我也遇到了同样的错误  但很奇怪 。 看代码。
STATE FindEx(const char* pszPat)const
{
STATE state = 0;
unsigned int i = 0;
while ( i < m_AC[state].m_NextState.size())
{
STATE temp = m_AC[state].m_NextState.at(i);
char * str = (char*) m_AC[temp].m_Str.c_str();

if (0 == strncmp(pszPat, str, m_AC[temp].m_Len) )
{
i = 0;
state = temp;
continue;
}
i++;
}
return state;
}  这样程序没有问题  

当我把 i++ 的位置 改了之后
STATE FindEx(const char* pszPat)const
{
STATE state = 0;
unsigned int i = 0;
while ( i < m_AC[state].m_NextState.size())
{
                i++;
STATE temp = m_AC[state].m_NextState.at(i);
char * str = (char*) m_AC[temp].m_Str.c_str();

if (0 == strncmp(pszPat, str, m_AC[temp].m_Len) )
{
i = 0;
state = temp;
//continue;
}

}
return state;
}

程序就出现这个问题了   

各位大侠有没有意见的....

#23


我也遇到同样的问题,之前的运行出来结果了,就吃个饭功夫,变成这样了,很是郁闷,求解啊!

#24


大家再查查吧,一定是指针出现问题了。设置的指针范围跟你运行的不对

#25


引用 24 楼 fzk118gd147 的回复:
大家再查查吧,一定是指针出现问题了。设置的指针范围跟你运行的不对

正解

#26


opencv error :assertion failed( 0 <= roi.x && 0 <= roi.width && roi.x + roi.width <= m.cols &&
              0 <= roi.y && 0 <= roi.height && roi.y + roi.height <= m.rows );
求解是怎么回事?

#27


指针访问内存出现问题。比如你用imread("fileName")读入两幅不同大小的图像进行求和,也会报这个错误。

#28


我的问题是因为不支持中文。

#1


这样好像是看不出错误的...应该要不断调试,调试到错误的时候在CALL BACK里看

#2


Assert failed...???

这里有句话,可以参考:
You probably don't need that as your using VS 2010 in the DLL and your EXE, but I found that it's helpful for those who accidentally mix different versions of the CRT libraries. 
检查一下exe和dll是否混用的不同版本的crt

#3


特别纠结,不知道错误在什么地方,调试又出来来错误,怎么办啊!!

#4


用的确实是vs2010,调用了OpenCV的库和自己开发的库,都是VS2010编译的。
如果是混用不同版本库的有问题的话,难道不应该程序一运行就有错误?

#5


想知道楼主最后怎么解决?我也出现同样问题了,而且也是调用了OpenCV库~~

#6


收集一下出错时的dump文件,然后分析callstack

#7


我也遇到了这样的错误,不过最后发现 是两个线程同时读写一个变量造成的

#8


‘task manager’看看内存是不是一直在增加?

#9


引用 5 楼 feirainy 的回复:
想知道楼主最后怎么解决?我也出现同样问题了,而且也是调用了OpenCV库~~


当时后来检查发现的问题应该是多线程访问资源出的问题。

#10


引用 2 楼 ouyh12345 的回复:
Assert failed...???

这里有句话,可以参考:
You probably don't need that as your using VS 2010 in the DLL and your EXE, but I found that it's helpful for those who accidentally mix different versions of the C……

这个问题我就曾犯过.呵呵

#11


LZ解决了没?
我可能也遇到这个问题,在苹果下运行程序,也是在不确定的时间程序crash掉,同样提示是abort() called;

#12


真是郁闷啊,这样的问题最难缠了。

#13


引用 8 楼 schlafenhamster 的回复:
‘task manager’看看内存是不是一直在增加?

我今天也遇到这个问题,当时在任务管理器中看到这个程序的内存消耗的确一直在递增,而且应该是内存不够分配的时候程序出现了这个error。请问您后来是怎么解决的呢?谢谢!

#14


引用 13 楼  的回复:
引用 8 楼 schlafenhamster 的回复:
‘task manager’看看内存是不是一直在增加?

我今天也遇到这个问题,当时在任务管理器中看到这个程序的内存消耗的确一直在递增,而且应该是内存不够分配的时候程序出现了这个error。请问您后来是怎么解决的呢?谢谢!


你好,请问你最后是怎么解决的呢?

#15


有没有人可以解决的,求分享答案

#16


我也遇到这种情况。后来发现是非法指针访问和内存泄漏的问题~各位可以看一下是不是这类问题。

#17


今天遇到同样问题,有人知道怎么解决吗?

#18


引用 16 楼  的回复:
我也遇到这种情况。后来发现是非法指针访问和内存泄漏的问题~各位可以看一下是不是这类问题。


+1

#19


+++1

#20


楼主这个问题你解决了吗?我也遇到了同样的问题。。。。

#21


引用 16 楼 narusaki 的回复:
我也遇到这种情况。后来发现是非法指针访问和内存泄漏的问题~各位可以看一下是不是这类问题。

请问一下,最后是怎么解决这个问题的?

#22


我也遇到了同样的错误  但很奇怪 。 看代码。
STATE FindEx(const char* pszPat)const
{
STATE state = 0;
unsigned int i = 0;
while ( i < m_AC[state].m_NextState.size())
{
STATE temp = m_AC[state].m_NextState.at(i);
char * str = (char*) m_AC[temp].m_Str.c_str();

if (0 == strncmp(pszPat, str, m_AC[temp].m_Len) )
{
i = 0;
state = temp;
continue;
}
i++;
}
return state;
}  这样程序没有问题  

当我把 i++ 的位置 改了之后
STATE FindEx(const char* pszPat)const
{
STATE state = 0;
unsigned int i = 0;
while ( i < m_AC[state].m_NextState.size())
{
                i++;
STATE temp = m_AC[state].m_NextState.at(i);
char * str = (char*) m_AC[temp].m_Str.c_str();

if (0 == strncmp(pszPat, str, m_AC[temp].m_Len) )
{
i = 0;
state = temp;
//continue;
}

}
return state;
}

程序就出现这个问题了   

各位大侠有没有意见的....

#23


我也遇到同样的问题,之前的运行出来结果了,就吃个饭功夫,变成这样了,很是郁闷,求解啊!

#24


大家再查查吧,一定是指针出现问题了。设置的指针范围跟你运行的不对

#25


引用 24 楼 fzk118gd147 的回复:
大家再查查吧,一定是指针出现问题了。设置的指针范围跟你运行的不对

正解

#26


opencv error :assertion failed( 0 <= roi.x && 0 <= roi.width && roi.x + roi.width <= m.cols &&
              0 <= roi.y && 0 <= roi.height && roi.y + roi.height <= m.rows );
求解是怎么回事?

#27


指针访问内存出现问题。比如你用imread("fileName")读入两幅不同大小的图像进行求和,也会报这个错误。

#28


我的问题是因为不支持中文。