消息关闭
    暂无新消息!
libusb-win32  获取设备数据,运行一段时间之后,命令通道和数据通道都断了,大神们有没有遇到这样的情况
while(1)
{
int usbRet = 0;
int transferred = 0;
int expectedTransfer = 0;
RcvBuffer_t m_buf;
int frame_len=0;
if(frame_data == NULL||frame_data_Rgb==NULL){
return LDV_ERROR_INVALID_PARAM;
}
frame_len = ROUND_UP((width*(height)*2+width*height*3+width), 1024);
if(frame_len == 0){
return LDV_ERROR_INVALID_PARAM;
}
m_buf.size = frame_len;
m_buf.pframe = (unsigned short *) malloc(frame_len);
memset(m_buf.pframe, 0, frame_len);
expectedTransfer = m_buf.size;
transferred = usb_bulk_read(mUsbHandle,DEPTH_IN,m_buf.pframe,expectedTransfer,ENCLUSTRA_TIMEOUT);
}

循环获取数据   usb_bulk_read  这个接口运行一段时间会获取不到,错误码-5   求助啊

2个回答

︿ 2
检查是否资源泄漏的办法之一:
在任务管理器 进程 查看 选择列 里面选择:内存使用、虚拟内存大小、句柄数、线程数、USER对象、GDI对象
让你的程序(进程)不退出,循环执行主流程很多遍,越多越好,比如1000000次甚至无限循环,记录以上各数值,再隔至少一小时,越长越好,比如一个月,再记录以上各数值。如果以上两组数值的差较大或随时间流逝不断增加,则铁定有对应资源的资源泄漏!

搜“GDI泄露检测”