阿七

  • HOME
  • CATEGORY
    • TECH
    • ENG
    • VIDEO
    • Image
    • MUSIC
  • Baidu
  • MY LIST
LOVE LASTS FOREVER
  1. Home
  2. TECH
  3. Text

DomainMegaBot segmentation fault 分析

19/12/2018 1841Views 1Likes 0Comments

简介

之前用香菇肥牛写的DomainMegaBot扫域名
发现偶尔会出现段错误
很让人抓狂的事情
于是有了这次Debug

思路

一般段错误的情况就几种
1 访问地址不存在
2 访问系统保护的内存
3 访问只读内存
4 栈溢出导致其他数据损坏

段错误这种问题不是很好定位
如果处于多线程的程序中
不知道哪里会出问题
也很有可能线程之间相互影响导致的

这里就要说一个很重要的东西
叫做符号表
符号表怎么理解
可以理解为地址映射函数的一个表格
把这个东西导入到RAM中
模拟之前的环境

linux下可以用core dump

如果在arm一些芯片环境下没有环境
只能通过仿真器来控制芯片
进行程序模拟
有些仿真器可以直接dump ram

编译 gcc -g xxx xxx.c
段错误后
会生成一个core文件
加载到gdb进行调试

不难定位出
123行
read_size = recv(sock , buffer , sizeof(buffer)
read_size 这个值是-1

向上继续追究
print输出
发现由于速度过快
被whois查询网站禁止了

解决方法

因为不是我的代码
所以不方便修改
修改思路是
1 加delay时间
2 备用源切换

Licensed under 知识共享署名 4.0 国际许可协议
Tag: linux
Last:19/12/2018

frank

Love Lasts Forever

Like
< PREV
NEXT >

Comment

取消回复

frank

Love Lasts Forever

New Hot Rand
New Hot Rand
DirectAdmin 去掉邮件队列 Debian Directadmin 中设置 wordpress 最全的伪静态配置 vnstat 清零流量重新统计 忘记关于什么事情了 selinux DirectAdmin面板 删除log How to install htop on CentOS 7
VLC中文字幕乱码问题 T-ARA DayByDay 1080P 完整版 MV This is my wallpaper Paypal 链接: 预核准付款/币种转换/汇率调整/美区/港区/国区注册等 How to compile ffmpeg on CentOS ZOHO 目前最好用的免费邮局

© 2022 阿七 ALL RIGHTS RESERVED | Working

Theme Kratos Made By Seaton Jiang