0xFFFFFFFF84461DC0 处(位于 nuitrack_gl_sample.exe 中)引发的异常: 0xC0000005

        nuitrack测试程序,想为一个窗体加一个窗口过程函数,关键字"SetWindowLongPtr GWLP_WNDPROC"搜索到文章<【Demo 0029】截取同进程窗体消息>,参照该文章后就出现崩溃:

后面参考了doubango中调用SetWindowLongPtr的方式,把窗口过程函数转为LONG_PTR重新编译运行就不会再崩溃。

 

       在nuitrack自带demo的rgb回调中调用cv::imwrite保存视频帧,然后在回掉函数中定义static的char数组来存储文件保存路径,结果就崩了,然后参考了demo,发现可以预先分配缓存,然后在该rgb回调中使用,然后把static去掉后就正常运行了,以后在VC中碰到这种0xC0000005错误,就要考虑到指针的问题。奇怪同样的代码放到android板子上,保存的图片是杂乱无章的,偶尔能有一副正常的。后面发现还是指针的问题,在保存的路径名数组长度过短,调用sprintf时候超过了路径名数组的最大容量。

       后来又碰到了类似的错误,用新版版的live555库,但是引用的头文件却是旧版本的,然后就报了如下的错误,调试发现的确scs.subsession为空指针,将libengine这个库工程中依赖文件换成新版本的头文件路径,再次运行客户端就正常了。

类似上面,在调试ga-client的时候也是因为live555的头文件和库文件版本不匹配导致如下的崩溃:

"error LNK2019: 无法解析的外部符号 "class cv::Mat __cdecl cv::imread(class cv::String const &,int)" (?imread@cv@@YA?AVMat@1@ABVString@1@H@Z),函数 "后来换了对应版本的头文件后再编译就正常了。

测试内存泄漏的时候,直接安装了vld-2.5.1-setup.exe,然后直接将头文件、库文件以及动态库文件拷贝到相应目录,结果运行的时候报错"应用程序无法正常启动,请单击"确定"关闭应用程序",后来将vld安装包下bin\Win32目录下的文件全部拷贝到可执行程序目录中后就解决了这个问题。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值