• gdb 调试打印


    gdb查看指定地址的内存地址的值:examine 简写 x-----使用gdb> help x 来查看使用方式
    x/ (n,f,u为可选参数)
    n: 需要显示的内存单元个数,也就是从当前地址向后显示几个内存单元的内容,一个内存单元的大小由后面的u定义
    f:显示格式
    x(hex) 按十六进制格式显示变量。
    d(decimal) 按十进制格式显示变量。
    u(unsigned decimal) 按十进制格式显示无符号整型。
    o(octal) 按八进制格式显示变量。
    t(binary) 按二进制格式显示变量。
    a(address) 按十六进制格式显示变量。
    c(char) 按字符格式显示变量。
    f(float) 按浮点数格式显示变量
    u:每个单元的大小,按字节数来计算。默认是4 bytes。GDB会从指定内存地址开始读取指定字节,并把其当作一个值取出来,并使用格式f来显示
    b:1 byte h:2 bytes w:4 bytes g:8 bytes
    比如x/3uh 0x54320表示从内存地址0x54320读取内容,h表示以双字节为单位,3表示输出3个单位,u表示按照十六进制显示。
    from http://www.cnblogs.com/super119/archive/2011/03/26/1996125.html

    gdb打印表达式的值:print/f 表达式
    f是输出的格式,x/d/u/o/t/a/c/f

    表达式可以是当前程序的const常量,变量,函数等内容,但是GDB不能使用程序中所定义的宏

    查看当前程序栈的内容: x/10x $sp-->打印stack的前10个元素
    查看当前程序栈的信息: info frame----list general info about the frame
    查看当前程序栈的参数: info args---lists arguments to the function
    查看当前程序栈的局部变量: info locals---list variables stored in the frame
    查看当前寄存器的值:info registers(不包括浮点寄存器) info all-registers(包括浮点寄存器)
    查看当前栈帧中的异常处理器:info catch(exception handlers)

  • 相关阅读:
    jxl导入/导出excel
    iText导出pdf、word、图片
    Java CSV操作(导出和导入)
    Spring3.0+Hibernate+Atomikos集成构建JTA的分布式事务--解决多数据源跨库事务
    jQuery插件:跨浏览器复制jQuery-zclip
    微信小程序之表单提交
    微信小程序只之全局存储
    微信小程序之工具js封装与使用
    重构的艺术 深入认识
    重构的素养
  • 原文地址:https://www.cnblogs.com/jkred369/p/8445634.html
Copyright © 2020-2023  润新知