那个叫librws的websocket软件包调用完卡死怎么办呢?有人遇到过吗,就程序运行到关闭websocket之后msh光标卡住,啥也输入不了
查看更多
一般msh光标卡住,啥也输入不了,有两种情况,一种是程序死了,这种比较严重,所有的线程都不会工作。还有一种是程序运行到关闭websocket之后,这个线程并没有结束,导致tshell也就是msh线程串口无法输入,这种只是它卡在这里了,其他程序是正常运行的你要先排查一下具体是哪种情况
检查一下程序是不是跑飞了,调试一下看程序卡在哪了
你去这个软件包的github提issue
欢迎发表与嵌入式相关的技术分享、开发技巧、工具介绍、技术设想、职业心得、行业评论等对他人有启发,排版优雅的文章
回到 顶部
发布 问题
分享 好友
手机 浏览
投诉 建议
回到 底部
有时候是卡死,有时候报错如图。调试的时候一般就不报图中的错
@cxsettle websocket服务器没开的时候,不调试直接跑出现上图结果,调试会正常出现链接失败的信息,然后到msh卡住。websocket服务器打开时,连接和发数据正常,最后关闭连接时还是卡在msh。经过调试,发现卡在shell.c中的ch = finsh_getchar() (这应该正常吧,没输入就卡这是没问题的);此时,其他线程正常跑。就是msh光标处无法输入,按tab也没反应
堆栈溢出系统崩溃了
@cxsettle 感觉是msh线程的问题,但是调试了也不知道哪出问题了。finsh线程大小调高了也不行
@cxsettle 把tshll线程栈调大
@Aurora_zk 好像又不是shell的问题,会不会是librws这个软件包写得有问题啊