zoukankan      html  css  js  c++  java
  • gdb调试知识

    之前一直不怎么用gdb,现在要用做一下记录

    用gdb启动程序

    gdb ./demo

    intel风格反汇编main函数,一共两行第一行设置汇编风格,第二行才是反汇编main函数

    set disassembly-flavor intel
    disass main

    设置断点到main 设置断点到main后的某个偏移位置

    b *main
    b *main+35

    查看断点

    info break

    步进

    ni命令相当于VS里面的F10
    si命令相当于VS里面的F11
    c相当于VS里面的F5

    display 显示某寄存器的值  格式:display /x $寄存器名字

    display /x $rsp

    x查看内存单元  格式:x  /nfu 内存地址 x means examine

    说明:
           n表示要显示的内存单元的个数
           f表示显示方式, 可取如下值:
           x 按十六进制格式显示变量。
           d 按十进制格式显示变量。
           u 按十进制格式显示无符号整型。
           o 按八进制格式显示变量。
           t 按二进制格式显示变量。
           a按十六进制格式显示变量。
           i 指令地址格式。
           c 按字符格式显示变量。

           s 按字符串格式显示变量。
           f 按浮点数格式显示变量。
           u表示一个地址单元的长度,其中:
           b表示单字节,
           h表示双字节,
           w表示四字节,
           g表示八字节

    例如打印堆栈

    x/64x $rsp
  • 相关阅读:
    学习使用linux下tags文件
    uboot常用命令详解
    U-boot中TFTP 解释
    eth0: ERROR while getting interface flags: No such device 没有eth0 有其他的eth
    取消挂载 umount 时出现的 “Device is busy”
    Linux的log日志功能
    oracle的安装
    SOA架构设计分析
    立方体模型
    质量属性的六个常见属性场景(淘宝网)
  • 原文地址:https://www.cnblogs.com/yuandaozhe/p/9576889.html
Copyright © 2011-2022 走看看