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

     

    虽千万人吾往矣...
  • 相关阅读:
    Oracle Database Instant Client 11g 32位和64位 安装包发布
    安装64位的oracle连接客户端
    Angularjs 与Ckeditor
    C# 通讯网关开发
    NServiceBus 入门2
    来自 Repository 的一丝线索,Domain Model 再重新设计
    jquery插件-自定义select
    微软Visual Studio "14" CTP 2 发布
    程序员喜欢怎样的职位描述?(转)
    kill命令"-1"这个参数到底是杀进程还是reload?(转)
  • 原文地址:https://www.cnblogs.com/rainisraining/p/14715533.html
Copyright © 2011-2022 走看看