gdb调试汇编

首先是函数传参,

先说下edi esi edx ecx 和 rdi rsi rdx rcx的关系

 正常的centos  x86的架构,

函数的前6个参数一般是用着几个寄存器存储的 edi esi edx ecx r8 r9(也可能是rdi rsi rdx rcx r8 r9),从左依次往右

第7个参数以后,就放在栈上了,也就是通过传递,每个参数占用 8 字节(即使类型小于 8 字节,也会对齐填充),从右向左依次压栈(即最右边的参数先入栈,位于低地址)。

计算的时候,第 7 个参数在栈上的位置:%rsp + 8(调用后的栈顶 + 8 字节,跳过返回地址),第 8 个参数在栈上的位置:%rsp + 16(依次递增 8 字节)。

例如

 其他的一些命令

disassemble可以展开断点函数的汇编
disassemble 地址
disassemble 函数声明
disassemble 开始地址, 结束地址
disassemble 地址加字节数
disassemble 函数声明加字节数
disassemble /m 地址或者函数声明         反汇编命令将显示与反汇编指令相对应的源代码行
disassemble /r 地址或者函数声明         显示所有反汇编指令的原始字节值
info r                      查看寄存器信息
set disassemble-next-line on           显示下一条要执行的汇编代码
si                       执行以下一步汇编
b *main+12                   在某处汇编地址断点,只能从函数声明处,通过地址偏移实现。例如

除了disassemble可以展开汇编之外,display,x/i等之类的也可以展开汇编,

display /20i function_name/addr   display展开main函数的前20行汇编,函数名和地址都行

比如用x/i展开汇编

x/10i  function_name/addr  展开main函数的10行汇编 ,函数名和地址都行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/898104.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【每日一题】20250313

【每日一题】如图所示,足够长平行金属导轨倾斜放置,倾角为 \(37^{\circ}\),宽度为 \(0.5 \; \mathrm{m}\),电阻忽略不计,其上端接一小灯泡,电阻为 \(1 \; \Omega\).一导体棒 \(MN\) 垂直于导轨放置,质量为 \(0.2 \; \mathrm{ kg }\),接入电路的电阻为 \(1 \; \Omega\)…

如何在VMWare Workstation中为桌面操作系统设置固定的显示分辨率

在虚拟中安装Linux操作系统后进入桌面环境后分辨率会自动拉伸变化,有时候可能不符合使用者的习惯,我们可以先关闭操作系统(必须先关闭操作系统否则不允许设置)然后鼠标右键点击已经安装的操作系统打开设置界面。   在系统设置界面中的《硬件》选项卡中选择点击《显示器》…

ABB IRB6660机器人伺服电机维修

常见故障及原因1. 电机故障 - 过载:当负载超过额定电机负载时触发,例如在搬运超过机器人承载能力的重物时,可能会导致电机过载。 - 高温:长时间运行或散热不良会使电机温度升高,如散热风扇损坏或者工作环境温度过高。 - 绝缘老化:随着使用时间增长,电机的绝缘材料…

四代固态纳米孔测序芯片/Flowcell加工工艺

固态纳米孔测序芯片是一种基于固态材料(如氮化硅、二氧化硅、石墨烯等)制备的纳米孔器件,用于单分子检测(如DNA、RNA、蛋白质等)。其加工工艺涉及微纳制造技术、材料科学和生物工程的交叉领域。以下是其核心加工工艺及关键步骤: 固态纳米孔测序芯片是一种基于固态材料(如…

SNeP1.1 Segmentation fault (core dumped) 段错误

001、问题 002、问题原因:ped文件用tab分割[b20223040323@admin2 test5]$ ls outcome.map outcome.ped step1.slurm [b20223040323@admin2 test5]$ head outcome.ped | cut -f 1-8 GMM1 GMM1 0 0 0 -9 A G G C GMM2 GMM2 0 …

[I.2][个人作业 软件案例分析]

[I.2]个人作业 软件案例分析 我选择QQ音乐作为调研目标 第一部分 软件调研评测 软件使用的图片软件分析使用QQ音乐主要有三种方式,一种是已知目标音乐在搜索框中直接输入进行搜索,第二种是目标音乐在播放但是不知道名字,可以使用听歌识曲的功能,第三种是可以选择根据风格进…

浅谈右值引用 LeetCode题集-6 - Z 字形变换,窥探模板元编程的一角

合集 - 经验分享(56)1.记一次由于操作失误致使数据库瘫痪的故障分析与解决方案2023-09-082.网络之谜:记一次失败排查的故事2023-11-153.你是否想知道如何应对高并发?Go语言为你提供了答案!2023-12-294.2023年终总结:拉帮结伙,拼搏探索新机遇2023-12-305.谁说后端不能画出美…

库卡机器人维修KSS26045硬件错误

库卡机器人在使用过程中,可能会遇到常见的KSS26045硬件故障,这些机器人故障大致可以归结为以下几种类型:先是电源故障。一旦电源系统出现问题,库卡机器人可能会面临无法启动或无法维持正常运行的困境。为了诊断电源故障,可以利用万用表等专业工具来精确测量电源的输出电压…

mac 使用Homebrew安装ADB

Homebrew是Mac上的包管理器,可以方便地安装和管理各种开源软件。如果还没有安装Homebrew,需要先安装Homebrew 1、安装Homebrew 为了解决下载速度慢的问题,直接用清华大学镜像: /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh…

自适应前照灯系统AFS

自适应前照灯系统是一种智能灯光调节系统。通过感知驾驶员操作、车辆行驶状态、路面变化以及天气环境等信息,AFS 自动控制前照灯实时进行上下、左右照明角度的调整,为驾驶员提供良好的道路照明效果。 自适应前照灯系统(Adaptive Front-lighting System,简称AFS)是一…

DeepSeek R1 + ollama + ragflow 使用 docker 部署(Windows)

DeepSeek-R1本地部署配置要求 Github地址:https://github.com/deepseek-ai/DeepSeek-R1?tab=readme-ov-file模型规模最低 GPU 显存推荐 GPU 型号纯 CPU 内存需求适用场景1.5B 4GB RTX 3050 8GB 个人学习7B、8B 16GB RTX 4090 32GB 小型项目14B 24GB A5000 x2 64GB 专业应用32…

豆包 | AI 助学行

博客中嵌入了当下最好用最火爆的国产人工智能:豆包,敬请使用。前情概要 当下,全球的人工智能发展很火很火,国内的人工智能也呈现井喷之势[几百家之多,智能水平层次不齐]。我也在思考如何将 AI 老师嵌入到我的数学博客里,帮助学生自主解决学习中的问题,最近接触到字节跳动…