一.TCP协议 1.TCP协议的特点 TCP是在不可靠的IP层之上实现的可靠的数据传输协议,它主要解决传输的可靠、有序、无丢失和不重复的问题。TCP是TCP/IP体系中非常复杂的一个协议,主要特点有: (1)TCP是面向连接的传输层协议。 (2)每一条TCP连接只能有两个端点,每一条TCP连接只能是 ...
分类:
其他好文 时间:
2019-12-26 19:28:41
阅读次数:
81
一 设置 : 边调试边运行 1 : 菜单栏 -> 调试 -> 选项 -> 调试 -> 常规 -> 启用编辑并继续2 : 勾选 "启用编辑并继续"3 : 点击确定 二 测试功能 1 : 变量m未初始化,m内存值为随机数。 1 : 变量m初始值改为20,m内存值为随机数。 1 : 单步调试执行语言,m值 ...
分类:
其他好文 时间:
2019-12-26 09:40:23
阅读次数:
73
参考如下: pip软链接: 第一步:先安装python3环境的相关依赖包 输入以下命令: yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gd ...
分类:
编程语言 时间:
2019-12-23 13:26:28
阅读次数:
99
最近有同事在搞编译环境迁移,碰上一个问题让我帮他看一下。 他建了一个新目录,然后把现在的代码拷过去,编译的时候发现有一个文件编译不了一执行就出现core,不知道啥情况。 我进到他的编译环境,执行make,果然出现了core文件。 使用file命令分析,发现是proc程序的core。于是使用gdb,想 ...
分类:
其他好文 时间:
2019-12-22 16:11:37
阅读次数:
74
下载地址: http://www.cygwin.com/setup-x86_64.exe 静默安装办法: .\setup-x86_64.exe --no-shortcuts --root D:\\Cygwin64 --packages gcc-core,gcc-g++,make,cmake,gdb, ...
一.系统调用原理: 系统调用是linux内核为用户态程序提供的主要功能接口。通过系统调用,用户态进程能够临时切换到内核态,使用内核态才能访问的硬件和资源完成特定功能。系统调用由linux内核和内核模块实现,内核在处理系统调用时还会检查系统调用请求和参数是否正确,保证对特权资源和硬件访问的正确性。通过 ...
分类:
其他好文 时间:
2019-12-19 23:20:45
阅读次数:
92
1. 前言 本文主要阐述C语言socket api追踪至系统调用的详细过程。追踪过程分为用户态的追踪和内核态的追踪。 目录 用户态追踪 系统调用定义 系统调用初始化的过程 系统调用的执行过程(以socket为例的证明过程) 内核态追踪 分析replyhi和hello程序 gdb跟踪 sys_sock ...
分类:
其他好文 时间:
2019-12-19 21:39:44
阅读次数:
155
Socket与系统调用深度分析 一、实验内容 研究menuos中replyhi、hello函数并通过gdb调试跟踪发现socket编程api与系统调用之间的关系 二、实验原理 socket调用流程: (1)系统调用 – (2)查找socket – (3)执行socket的对应操作函数 – (4)执行 ...
分类:
其他好文 时间:
2019-12-19 20:57:00
阅读次数:
66
一、建立gdb与gdbserver的通信: 在gdb设置断点在start_kernel阻塞 在gdb调试窗口输入指令c,QEMU继续启动 通过gdb可以跟踪到内核代码start_kernel。 二、为MenuOS集成网络通信程序,即为MenuOs添加replyhi命令。 此时会重启MenuOS 三、 ...
分类:
系统相关 时间:
2019-12-19 19:01:21
阅读次数:
90
1、backtrace一些内存检测工具如Valgrind,调试工具如GDB,可以查看程序运行时函数调用的堆栈信息,有时候在分析程序时要获得堆栈信息,借助于backtrace是很有帮助的,其原型如下: #include <execinfo.h> int backtrace(void **buffer, ...
分类:
编程语言 时间:
2019-12-19 13:20:20
阅读次数:
114