windos已在svs.exe中触发一个断点

soulmood 2017-03-10 03:52:31
程序在调试过程中,调用postmessge函数时出现异常:windos已在svs.exe中触发一个断点。其原因可能是堆被损坏,这说明svs.exe中或它所加载的任何dll中有BUG。

Csvs曝光Dlg *Form = (Csvs曝光Dlg *)Context;
unsigned char* ImageData;
int imageID;
HDC hdc;
CDC *dc;
if (Form == NULL)
{
return SVGigE_INVALID_PARAMETERS;
}
if( Form->Camera->IsAcquisition==false )
return SVGigE_IMAGE_SKIPPED_IN_CALLBACK;
//获取图像数据指针
ImageData=Image_getDataPointer(Image); //无符号的字符指针data
Form->Camera->ImageData_8bit = Image_getDataPointer(Image);
GVSP_PIXEL_TYPE PixelType=Image_getPixelType(Image);
imageID = Image_getImageID(Image); //图像ID
Form->PostMessage(WM_DISPLAY_IMAGE, 0, 0);
if (Form->Camera->ImageData==NULL) //获取图像指针为空
{
if (Image_getSignalType(Image)==SVGigE_SIGNAL_CAMERA_CONNECTION_LOST)
{
AfxMessageBox(_T("相机丢失连接"));//The camera cable is disconnected while a connection to that camera is open:cable-电缆,disconnected-分离的,
Form->PostMessage(WM_DISPLAY_IMAGE, 0, IMAGE_NONE);
return SVGigE_SUCCESS;
}
}

求大神分析下原因。感激不尽!
...全文
531 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-03-10
  • 打赏
  • 举报
回复
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。 判断是否越界访问,可以在数组的最后一个元素之后对应的地址处设置数据读写断点。如果该地址对应其它变量干扰判断,可将数组多声明一个元素,并设置数据读写断点在该多出元素对应的地址上。
#include <time.h>
#include <stdlib.h>
#include <windows.h>
int main() {
    int a,b[11];//本来是b[10],为判断哪句越界,故意声明为b[11]

    srand((unsigned int)time(NULL));//按两次F11,等黄色右箭头指向本行时,调试、新建断点、新建数据断点,地址:&b[10],字节计数:4,确定。
    while (1) {//按F5,会停在下面某句,此时a的值为10,b[10]已经被修改为对应0..4之一。
        b[(a=rand()%11)]=0;
        Sleep(100);
        b[(a=rand()%11)]=1;
        Sleep(100);
        b[(a=rand()%11)]=2;
        Sleep(100);
        b[(a=rand()%11)]=3;
        Sleep(100);
        b[(a=rand()%11)]=4;
        Sleep(100);
    }
    return 0;
}
  • 打赏
  • 举报
回复
F5运行,中断看看堆栈那里挂了呗。估计是获取的图像是不是把缓冲给充爆了。
Pingo520 2017-03-10
  • 打赏
  • 举报
回复
你这是在自己开的线程里面,而不是在主线程里面吗?
Pingo520 2017-03-10
  • 打赏
  • 举报
回复
直接PostMessage(WM_DISPLAY_IMAGE,0,0)试试?不通过Form调用

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧