zoukankan      html  css  js  c++  java
  • gdb 解core

    1.查看core文件:/opt/compiler/gcc-4.8.2/bin/gdb bin/ /home/coresave/bak/core文件

    2.查看堆栈信息:bt

    3.红框表示堆栈的帧frame,定位到是哪个帧出问题就直接跳到该帧:f num(前面的数字)

    4.查看所有线程:info(i) threads

    5.找到对应的线程id后,利用thread <num>切换到该线程

    6.打印出当前函数的参数名及其值:info args

    7.打印出当前函数中所有局部变量及其值:info locals

    8.查看当前函数的异常处理信息:info catch

    9.查看源代码在内存中的地址:info line后面可以跟“行号”,“函数名”,“文件名:行号”,“文件名:函数名”,这个命令会打印出所指定的源码在运行时的内存地址:info line tst.c:func 

    10.查看函数func的汇编代码:disassemble func

    11.看当前程序的运行数据:p(or print) 变量名(p/x是让其以十六进制的格式输出)

    • x 按十六进制格式显示变量。 
    • d 按十进制格式显示变量。 
    • u 按十六进制格式显示无符号整型。 
    • o 按八进制格式显示变量。 
    • t 按二进制格式显示变量。 
    • a 按十六进制格式显示变量。 
    • c 按字符格式显示变量。 
    • f 按浮点数格式显示变量。 

    12.gdb支持以下操作符

    • 是一个和数组有关的操作符。 

            “@”的左边是第一个内存的地址的值,“@”的右边则你你想查看内存的长度。

             例如:*array@len

    • :: 指定一个在文件或是一个函数中的变量。 
    • {} 表示一个指向内存地址的类型为type的一个对象。 

    13.栈向上or向下n层:up n、down n

     

    虽千万人吾往矣...
  • 相关阅读:
    Vue.js监听事件
    Vue.js组件传值
    Vue.js安装
    C#中输入法全角转换半角
    文件夹操作
    转JSON字符串,并进行AES加密
    ReportView报表的使用
    c++读入优化
    快读板子
    【转】2020年 大二上 ACM
  • 原文地址:https://www.cnblogs.com/rainisraining/p/14715533.html
Copyright © 2011-2022 走看看