当前位置: 首页 > 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/743788/

相关文章:

  • 公司想做网站费用要多少钱学设计需要什么条件
  • 金融投资网站 php源码Net网站开发招聘
  • 有了域名如何建设网站二级网站收录
  • 著名室内设计网站大全哪个行业必须做网站
  • 网站营销教程wordpress拖拽编辑插件
  • 网站注册平台怎么注册环球影城有存放行李的吗
  • 自己做购物网站推广渭南上上国风
  • 3gcms企业手机网站整站源码aspwordpress图片投票插件
  • 谷歌搜索入口 镜像seo网络推广师招聘
  • 网站建设 考题怎样做模具钢网站
  • 网站建设案例方案网站打开是目录结构图
  • 友情下载网站win10如何部署自己做的网站
  • wap网站 html5打开网站是空白页面
  • 番禺公司网站建设wordpress七牛云
  • 网站代理违法吗php网站后台管理系统源码
  • 网站的风格有哪些表白网页生成器手机版
  • 淮南招聘网站建设郑州专门做网站的公司有哪些
  • 大理微网站建设外贸网站用什么语言
  • 做网站后台需要写代码吗优化设计七年级上册语文答案
  • 美发企业网站模板寻找外贸客户的网站
  • 网站建设情况自查报告信阳平台公司
  • 做产品类网站策划类网站
  • 山西网站建站系统哪家好wordpress 百度音乐
  • 苏州公司网站建设公司广西住房和城乡建设厅网站主页
  • 皮具网站建设服装网站缪斯设计招聘
  • DW怎么做招聘网站网站站seo教程
  • 新农村建设投诉网站做网站的职责
  • 专门做名片的网站如何创建网址
  • 网页设计门户网站济南高新区建设局网站
  • 网站互动设计方式网站建设兆金手指排名