为了账号安全,请及时绑定邮箱和手机立即绑定

报错时程序指针直线GetAnnexbNALU(n, bits_read);

报错时程序指针直线GetAnnexbNALU(n, bits_read);

C++
喵喔喔 2023-03-20 21:17:22
while(!feof(bits_read)){GetAnnexbNALU(n, bits_read);if(n->len<=1000){memset(nalu, '\0', 1004);int_to_char(nalu, counter1, counter);//counter1以后用不到nalu_payload = nalu+4;memcpy(nalu_payload, n->buf, n->len);for (int port_cout = 0; port_cout < 5; port_cout ++)/////////////////为了测试添加{broad_to.sin_port = htons(6666);sendto(s_broad_send, nalu, 1004, 0, (sockaddr *)&broad_to, sizeof(broad_to));}counter++;counter1 = 0;}}}}该循环只进行了一次,第二次开始就报错,报错时程序指针直线GetAnnexbNALU(n, bits_read);语句。
查看完整描述

1 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

那就是你的GetAnnexbNALU函数发出来的异常,设个断点进去看看为什么报错了?是不是读写的长度有问题?
不行的话,看看能否把别的操作屏蔽掉,就只运行有问题的地方,以测试是不是真的有问题。

单步调试操作延时比较长,有没有想想是不是延时不够的问题?

频繁申请和释放内存,这个应该不是重点关注对象吧,我没看到你的代码有new或者malloc操作符,只有写memcpy和memset,应该不是这些函数导致的。


查看完整回答
反对 回复 2023-03-22
  • 1 回答
  • 0 关注
  • 58 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信