首页 > 编程语言 >汇编及调试

汇编及调试

时间:2024-05-05 11:44:22浏览次数:26  
标签:汇编 gcc 文件 生成 hello 调试 out

gcc:

  -c 编译后汇编,不连接

  -S 生成.s汇编文件

  -o 编译,汇编,连接,可从 .o / .c 文件直接生成可执行程序

  -g 生成调试信息

  -gstabs

       -static 静态链接

  标识符 main

gdb

  break *标识符 :设置断点

  info register :参看寄存器

  run :运行

  list :列出函数行

objdump:

  -d : 目标代码反汇编 默认text

  -D :所有代码

gcc -c -o hello.o hello.s 生成obj文件

gcc -c -o hello.o hello.c 生成obj文件

objdump -s -j .rodata a.out

ldd a.out

      show link

标签:汇编,gcc,文件,生成,hello,调试,out
From: https://www.cnblogs.com/yyqng/p/18173332

相关文章

  • 8086 汇编学习 Part 9
    端口的读写CPU的邻居CPU内部的寄存器内存单元端口(各种接口卡、网卡,显卡,主板上的接口芯片等)各种芯片工作时,都有一些寄存器由CPU读写从CPU角度,将各寄存器当端口,并统一编制CPU用统一的方法与各种设备通信读写端口的指令在对\([0,255]\)的端口进行读写时,端口......
  • 内联函数、引用、汇编
    内联函数内联函数是一种特殊的C++函数,编译器会将它的代码直接插入到调用它的位置,而不是像普通函数那样进行函数调用。这可以减少函数调用的开销,从而提高性能。#include<iostream>usingnamespacestd;intfunc(intv1,intv2){ returnv1+v2;}inlineintfunc1......
  • C语言转写成MIPS指令集汇编以及MIPS指令集汇编中函数调用时栈的变化
    一、问候语欢迎你来到我的博客!二、C语言代码分析  这段C语言代码共有3个函数组成。set_array函数传入1个int类型的变量num,并创建了1个int类型临时变量i和1个临时int类型数组array,里面含有10个单位,此函数主要目的是调用compare函数,并将num和i传入该函数中,得到其函数返回值......
  • 在Docker内部使用gdb调试器报错-Operation not permitted
    在docker内部使用gdb调试时刻遇到了gdb如下报错信息:warning:Errordisablingaddressspacerandomization:Operationnotpermitted原因地址随机化是linux一项安全特性,它允许内核进程启动每次加载库的时候都在随机化的分布在进程虚拟内存地址空间上(早期固定的库要加载......
  • 8086 汇编学习 Part 6
    用MUL指令做乘法格式MUL寄存器MUL寄存单元8位乘法16位乘法被乘数(默认)ALAX乘数8位寄存器或内存单元16位寄存器或内存字单元结果AXDX(高位)和AX(低位)模块化程序设计调用子程序:CALL指令返回:RET指令实质流程转移指令,它们都修改......
  • IDA动态调试解RC4
    IDA动态调试解RC4本篇博客所有内容,均学习于无名侠大佬在bilibili的视频:https://www.bilibili.com/video/BV1WQ4y1X7TYLazyIDA熊猫版:https://github.com/P4nda0s/LazyIDA实验文件下载:https://github.com/P4nda0s/SycRevLearn有一些算法的加密与解密是相同的算法过程,例如RC4、......
  • M3位带地址映射和汇编对比
    01.位带概述位带操作简单的说,就是把每个比特膨胀为一个32位的字,当访问这些字的时候就达到了访问比特的目的,比如说GPIO的ODR寄存器有32个位,那么可以映射到32个地址上,我们去访问这32个地址就达到访问32个比特的目的。这样我们往某个地址写1就达到往对应比特位写1......
  • linux下调试串口设备
    USB转串口常用CH34x芯片,该芯片有linux下的驱动。在默认情况下,大部分linux发行版都包含了CH34x的驱动,唯一缺点就是版本比较久。可以先插上开发板,一般是挂载到/dev/ttyCH341USB0文件下,如果该文件不存在,有两种可能,一种是驱动版本太久,可以下载官方的驱动文件,然后编译安装。官方驱......
  • threejs - js库 gui 的使用 调试开发3D效果
    //导入threejsimport*asTHREEfrom"three";import{OrbitControls}from"three/examples/jsm/controls/OrbitControls.js";//引入dat.gui.js的一个类GUIimport{GUI}from'three/addons/libs/lil-gui.module.min.js';//创建场景scene......
  • C/C++如何写调试宏
    1.调试宏以及测试在写代码时,不可避免需要打印提示、警告、错误等信息,且要灵活控制打印信息的级别。另外,还有可能需要使用宏来控制代码段(主要是调试代码段)是否执行。为此,本文提供一种调试宏定义方案,包括打印字符串信息LOG1宏和格式化打印LOG2宏,且能通过宏控制代码段执行。完整代......