当前位置: 首页 > news >正文

网站输入一级域名自动跳转二级域名学校做的网站外面访问不了

网站输入一级域名自动跳转二级域名,学校做的网站外面访问不了,无锡做网络推广,wordpress .mo .po一.在执行的智慧中控项目的时候#xff0c;喊语音模块唤醒(小欣小欣)的时候遇到了#xff1a;Segmentation fault 段错误 二.遇到段错误#xff0c;一般是以下情况#xff1a; “Segmentation fault”#xff08;段错误#xff09;是Linux系统中常见的程序异常终止信号。…一.在执行的智慧中控项目的时候喊语音模块唤醒(小欣小欣)的时候遇到了Segmentation fault 段错误 二.遇到段错误一般是以下情况 “Segmentation fault”段错误是Linux系统中常见的程序异常终止信号。它通常发生在程序试图访问一个未分配给它的内存区域或尝试以不允许的方式访问内存时。以下是一些可能导致段错误的常见原因 空指针解引用如果你的程序试图通过一个空指针访问数据这将导致段错误。 数组越界当你试图访问数组的一个不存在的位置时例如数组大小为10而你试图访问第11个元素。 野指针指向已经释放了的内存空间的指针被称为野指针使用这样的指针可能会导致段错误。 栈溢出当函数调用层次太深或者局部变量占用空间过大导致栈空间耗尽时会发生栈溢出。 多线程问题在多线程环境中如果两个或多个线程同时访问并修改同一块内存而没有适当的同步机制可能会导致段错误。 非法地址操作如向只读内存写入数据等。 内存分配失败后继续使用当malloc()、calloc()等函数返回NULL值表示内存分配失败时如果程序没有检查这个返回值而直接使用分配的内存就会发生段错误。 结构体或对象的成员访问当尝试访问一个未正确初始化的对象的成员时也可能引发段错误。 解决段错误的方法包括但不限于 使用调试器如GDB来定位错误发生的准确位置。检查所有指针是否都被适当地初始化并且在使用前确认它们不是NULL。检查数组边界确保不会越界访问。对于动态内存管理确保释放内存后不再使用该内存。在多线程应用中确保对共享资源的操作进行了适当的同步处理。 三.我如何解决这里使用GDB去调试 1. 首先使用GDB去运行项目 用gdb去调试一般就这个步骤 ①在gcc后面加-g编译 ②在前面加gdb去执行 ③遇到gdb的时候按r运行再次遇到继续按r ④后面就会看到输出的结果和程序奔溃的地方哪个文件哪行代码。 2. 回到项目找到发生错误的地方 ①一般段错误就是指针的问题经常要么是使用了空指针要么就是指针越界了。 这里发现cur_gdev也是个指针cur_gdv指针被拿去做了一些操作被拿去做了if判断。 并且这里看到cur_gdev一开始赋值是NULL那这里就应该去看看cur_gdev后续是否有被到赋值。 如果cur_gdev没有被赋到值又被拿去做了其它其它操作就会出现段错误那就是使用一个指向空的指针去跟其它的数据做if判断就会出错。 所以这里开始怀疑cur_gdev是不是没赋到值 ②所以这里找到cur_gdev被赋值的代码92行看看cur_gdev有没有被赋到值。 在cur_gdev被赋值的代码下面加上一条printf语句打印一串数字93行。 执行看看会不会输出这行数字。如果输出这行数字说明程序跑到这个printf语句了那也就说明cur_gdev被赋值的语句也跑到了说明cur_gdev被赋到值了。 ③用GDB执行结果如下 没看到输出我们加的那行代码88888888888代码93行 3.继续去调试 ①在输出888888的代码后面加\n换行符试试printf(“88888888888888888888\n”); ②老样子使用gdb编译、执行、按r运行 ③老样子在发生错误的地方唤醒语音模块喊小欣小欣 ④结果如下看到了我们加的那行代码88888888888代码93行。说明cur_gdev被赋值的语句92行程序是有执行到的 4.继续调试在有怀疑的地方继续加printf输出语句 ①那cur_gdev被赋值的语句确实是有被执行到的那我们在点进去看看给cur_gdev赋值的函数find_gdevice_by_key()点进去看看cur_gdev有没有可能会被赋值为NULL。 cur_gdev find_gdevice_by_key(phead_gdev,recv_msg-buffer[2]); ②看到find_gdevice_by_key()函数里面这段代码的意思是 如果链表头是空就返回空NULL 否则就去遍历链表 遍历完链表都没有找到需要return的那个p我们就返回空NULL 发现确实有两个会返回return那cur_gdev确实是有可能会被赋值为空NULL的。 所以我们给每个return前面加个printf输出语句记得后面加\n 然后继续唤醒语音模块(喊小欣小欣) 看看最后会打印出哪个printf输出语句那就能侧面知道return的是什么给cur_gdev ③看到打印的是77777那说明后面会return的是NULL空值给cur_gdev。证明了我们的猜想。 4.继续调试在有怀疑的地方继续加printf输出语句 ①回到前面所以刚刚唤醒语音模块(喊小欣小欣)的时候cur_gdev确实有可能被return返回一个空值NULL的那这里却没有对cur_gdev是NULL的时候做什么处理导致后面cur_gdev直接被拿去做if判断了出现了段错误。 ②那这里加个如果cur_gdev是NULL的时候的处理看看继续验证猜想cur_gdev是不是真的NULL。 ③结果如下 看到输出1111111111再次证明cur_gdev确实是NULL。然后后面就被拿去做操作了所以是空指针操作出现的段错误。 5. 所以按实际需要给cur_gdev做空指针处理如果cur_gdev为NULL就怎么怎么样。 我这里是给如果cur_gdev是空指针我就直接退出线程。
http://www.dnsts.com.cn/news/246818.html

相关文章:

  • 怎么查找网站互联网创业项目的效果
  • 不同企业的网络营销网站wordpress 文章分享
  • 网站建设心得感想wordpress自动分表
  • 南京传销是以网站开发怎么建设一个论坛网站
  • 哈尔滨论坛建站模板宿迁网站建设方案
  • 淘宝客cms建站教程软件开发报价明细有哪些
  • 网站建设通讯稿平台网站如何做推广方案
  • 个人网站作品欣赏电影网站怎么做的
  • 中企动力和东莞朝阳做的网站对比做购物网站的初衷
  • 网站群发软件企业营销策划书如何编写
  • 文化建设素材36 氪 网站如何优化
  • jsp做的求职招聘网站百度云移动互联网开发项目实战项目
  • 深圳网站维护优化欧模网室内设计效果图
  • 某网站seo诊断分析和优化方案帮人盖章网站备案授权书
  • 网站建设的基本要素比较好的网站开发教学网站
  • 郴州品牌网站建设推广潍坊营销型网站制作
  • 网站制作开发的步骤和方法wordpress微信分享才能查看
  • 建站全过程wordpress close
  • 做牙科设计的网站中国电商建站程序
  • 源码站用dz wordpress免费手游推广平台
  • 主营商城网站建设wordpress需要什么环境
  • 网站开发课我的网站模板下载不了
  • 网站规划步骤有哪些浙江做公司网站多少钱
  • 做网站的图片尺寸怎么设定邯郸网上房地产官网
  • 手机网站设计公pythons网站开发
  • 网站建设分金手指专业十八建站优化内容
  • 网站建设培训总结手机app软件
  • 网站点播视频如何做考试报名费悦生活建设银行网站
  • 上海网站建设品牌杭州优化商务服务公司
  • 用php怎么做网站深圳装修公司前十强