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

郑州网站建设哪家有专业装修设计网站

郑州网站建设哪家有,专业装修设计网站,面向网站开发的相关知识,企业网站前台模板问题记录: 在刚完成mymuduo库之后,写了一个简单的测试服务器, 但是在服务器运行后直接报错: cherryhcss-ecs-4995:~/mymuduo/example$ ./testserver Segmentation fault (core dumped)出现多错误这通常意味着程序试图访问其内存空…

问题记录:
在刚完成mymuduo库之后,写了一个简单的测试服务器,
但是在服务器运行后直接报错:

cherry@hcss-ecs-4995:~/mymuduo/example$ ./testserver
Segmentation fault (core dumped)

出现多错误这通常意味着程序试图访问其内存空间中未分配(或不允许)的部分。

所以我决定先使用gdb进行一下简单的调试:

gdb ./testserver

把程序跑起来之后马上定位到了报错位置:

Program received signal SIGSEGV, Segmentation fault.
EventLoop::updateChannel (this=0x7fffffffdd60, channel=0x555555572eb0) at /home/cherry/mymuduo/EventLoop.cc:126
126         poller_->updateChannel(channel);

我再查看代码:

125 void EventLoop::updateChannel(Channel *channel) {
126 	poller_->updateChannel(channel);
127 }

既然是段错误,说明我们访问了不被允许访问的内存,或者操作了不被允许操作的内存
接下来我们有以下三个主要的思路:

(gdb) print poller_ #poller是否是空
(gdb) print channel #channel是否为空
(gdb) print *channel #如果channel不是空,那么它是否指向了有效对象,该对象状态是否正常?
(gdb) backtrace #如果都正常,查看调用栈,是哪里调用了 EventLoop::updateChannel 方法

但是比较悲剧的是,我直接 print poller_ 就发现我们重要的poller对象竟然是空!

所以我马上去看了一下构造函数代码是否正常

EventLoop::EventLoop(): looping_(false), quit_(false), callingPendingFunctors_(false), threadId_(CurrentThread::tid()), poller_(Poller::newDefaultPoller(this)), wakeupFd_(createEventfd()), wakeupChannel_(new Channel(this, wakeupFd_)) 

在构造函数中, poller_的初始化是通过newDefaultPoller来完成的,那么去看看它是否正常工作:

Poller* Poller::newDefaultPoller(EventLoop *loop) {if (::getenv("MUDUO_USE_POLL")) {return nullptr; // 生成poll的实例} else {return nullptr; // 生成epoll的实例}
}

好巧不巧,我们竟然在生成epoll实例的地方返回了一个空!之前在写这个代码的时候还没有完成EpollPoller.h文件的书写,为了防止部分编译报错所以先写成空了。

更改代码如下:

#include "EpollPoller.h"
return new EPollPoller(loop);
http://www.yayakq.cn/news/83278/

相关文章:

  • 长春怎么注册网站平台做网站弄什么语言
  • 盗版小说网站建设微信视频号怎么推广引流
  • 学技术网站合肥市网站建设
  • mysql网站后台管理系统下载网站logo是指
  • 永久域名免费注册网站北京网站模板建站
  • 网站报名系统怎么做thinkphp做中英文网站
  • 别人做的网站怎么seo优化数据库和网站
  • 行业门户网站设计简洁大方的电商网站模板
  • 今鼎网站建设做ppt用什么软件
  • 化妆品网站建设网站贵阳哪些公司建网站
  • 杭州网站建设公司平台定制做网站开发
  • 网站登录页做多大尺寸的用fw做网站页面
  • 网站建设培训班上的讲话新手学做网站图
  • deals网站建设有没有外国网站可以做兼职翻译的
  • 做外汇哪个网站看外国消息saas小程序开发费用
  • wordpress网站页面打开很慢集团品牌官网建设
  • 网站视频是什么软件做的中山做网站公司哪家好
  • 开公司 专做网站网站页面设计需求
  • 哈尔滨网站开发培训行业开发
  • 做国外lead应该做什么网站高端手机网站建设
  • 网站开发(七)数据库的建表与连接如何进外贸大公司网站
  • 做网站需要买多大空间做跨境网站
  • 网站推广服务商专做老酒的网站
  • 网站如何宣传推广泉州专业网站建设公司哪家好
  • wordpress也没修改福州seo技术培训
  • 网站建设公司广告语 宣传语自媒体平台有哪些
  • 做推广可以在哪些网站发布软文企业查询信息系统
  • 足球竞猜网站开发有网站源码怎么建站
  • 商丘公司做网站网站建设网站设计多少钱
  • wordpress google ua code 是什么网站seo优化外包顾问