51CTO:Linux C++网络编程一

51CTO:Linux C++网络编程一

bingliaolong C++ Linux 2年前 9 0

linux操作系统启动过程 第一个进程 在传统的Unix和Linux系统中,init进程是系统启动后的第一个进程(PID为1) 它是系统的祖先进程,负责启动其他所有的进程 在许多现代Linux发行版中,systemd已经取代了传统的init系统 在这些系统中,systemd是第一...

Linux调试工具记录

Linux调试工具记录

bingliaolong Linux 2年前 4 0

strace 一个强大的命令行工具,用于在Linux系统上跟踪系统调用和信号 主要用于调试和诊断程序,在了解程序如何与操作系统交互方面非常有用 用法 跟踪系统调用 跟踪现有进程 筛选特定系统调用 写入到文件 跟踪子进程 高级用法 使用-c选项可以查看关于系统调用的统计信息,如次数...

lua学习记述一

lua学习记述一

bingliaolong Lua 2年前 9 0

概述 通过标准库和 C API,Lua 可以轻松地与 C 和其他编程语言集成 语法简述 数据结构 nil: 用于表示不存在的值。 boolean: 包括 true 和 false。 number: 默认情况下,Lua 5.3 之后的版本使用双精度浮点数表示。 string: 用于...

Linux下调试dump记录

Linux下调试dump记录

bingliaolong Linux 2年前 11 0

设置dump捕获 捕获dump 运行目标程序 产生dump 转储dump lldb调试dump 用lldb调试dump 运行程序 查看堆栈 寄存器 汇编 lldb调试正常程序 加载程序 在main函数打断点 运行程序 LLDB命令 list 显示代码 frame variable...

X86_64汇编学习记述四

X86_64汇编学习记述四

GNU 汇编器语法 示例 定义数据 nasm数据操作 GNU汇编器操作 使用直接操作数,要用$ 获取部分内存时,例如 64 寄存器的第一个字节 不在操作数中定义大小,而是在指令中定义 GNU汇编器操作后缀 b:1个字节操作数 w:2个字节操作数 l:4个字节操作数 q:8个字节操...

X86_64汇编学习记述三

X86_64汇编学习记述三

字符串 反转字符串 4个常量 解析 从_start开始 把INPUT地址放入rsi寄存器 通过异或将rcx清零 用cld清除方向标志位,让后续字符串操作从低地址向高地址进行。 保存返回地址,当exitFromRoutine结束后,正确返回 calculateStrLen 先判断r...

Linux下修改用户密码记录

Linux下修改用户密码记录

bingliaolong Linux 2年前 36 0

实体机 虚拟机 环境 kylin虚拟机 kylin基于ubuntu 所以ubuntu和debian可能都可以使用这个方法 忘记密码 root用户的密码忘记了是找不回的,只能想办法重置 后续文档记录了成功重置了root密码的过程 普通用户的密码忘记了,可以切到root用户下,按以下...

x86_64汇编学习记述二

x86_64汇编学习记述二 2

大小端 可以将内存想象为一个大数组。它包含字节。 每个地址存储内存“数组”的一个元素。每个元素都是一个字节。 例如我们有 4 个字节:AA 56 AB FF 小端字节序 低地址存低位字节 大段字节序 高地址存低位字节 汇编程序组成 data 用于声明初始化数据或常量 bss 用于...

汇编记述三

汇编记述三

关于栈空间大小 反汇编代码中的栈大小 栈帧的大小通常是由编译器在编译阶段计算出来的。 编译器在编译源代码时会分析函数的局部变量、函数参数、寄存器的使用情况等信息,然后根据这些信息计算出每个函数所需的栈帧大小。 自己写汇编 需要自己计算栈帧的大小,并为局部变量、参数、寄存器保存等分...

扫一扫二维码分享