首页 > 其他分享 >gdb使用

gdb使用

时间:2024-11-06 15:31:31浏览次数:3  
标签:core pid gdb 调试信息 使用 test 调试

调试

查看目标文件信息

查看目标文件段信息
readelf -S test | grep debug

查看文件信息,是否有调试信息等
file test

移除调试信息
strip test

gdb调试

1. 可执行文件

gcc -g test.c -o test
gdb test
(gdb)set args
(gdb)run

2. 调试已运行程序

先查看进程号ps -ef | grep pname

gdb attach pid

or

(gdb)attach pid

调试相关id进程

gdb test --pid pid

若已运行程序没有调试信息
编译出一个带调试信息的版本,在attach之前,使用file命令即可

3. 调试core文件

查看进程信息cat /proc/pid/limits

查看是否开启生成core文件

ulimit -c

or

ulimit -a
core file size (blocks, -c) 0

开启生成core文件,不限制core文件大小

ulimit -c unlimited

设置core文件大小,单位为块,一块默认512字节
ulimit -c 10

默认文件名都叫core,为了区分,添加pid到文件名后缀

echo "1" > /proc/sys/kernel/core_uses_pid

指定core文件名格式和路径

echo "/home/ubuntu/corefile/core-%e-%p" > /proc/sys/kernel/core_pattern

调试core文件

gdb <exefile> <corefile>

标签:core,pid,gdb,调试信息,使用,test,调试
From: https://www.cnblogs.com/sgqmax/p/18530309

相关文章

  • 一步一步在 Blazor 里使用 npm
    Blazor目前不支持node语法,所以无法直接使用node包;所以需要再用js封装一层。 1,先给npm建个目录“NpmJS”,因为node无法直接当作js使用,所以这个目录不需要建在 wwwroot下,反而方便csproj管理 2,创建node项目,建议直接用npminit命令创建,vs自带的管理......
  • CMake使用
    可见性修饰符和目标cmake中有三种可见性修饰符:PRIVATE、PUBLIC和INTERFACE这些修饰符随着命令一起使用,如target_include_directories和target_link_libraries等这些修饰符是在目标targets的上下文中指定的目标targets是指在cmake中某种类型的输出:可执行目标add_executable生......
  • Cmake 实操 -- 使用文件操作命令添加源码文件并移除失效问题记录
    搜索文件使用file(GLOB_RECURSEfileListsearchDir/*.cpp)搜索searchDir目录下所有cpp文件,将路径保存到fileList中。GLOB_RECURSE:启用递归搜索。ps:searchDir不会被展开,如果searchDir中存在C/test/../test1,保存到fileList中的文件路径将仍然带有C/test/../test1,而不是C/test1......
  • Air780E的I2C软件使用指南
    ​ 今天我们学习合宙低功耗4G模组Air780E的I2C接口操作方法,文末【阅读原文】获取最新资料。一、I2C概述Air780E可支持1路I2C接口,如果复用的话最多有两路: ​I2C配置:兼容PhilipsI2C标准协议。支持Fastmode(400Kbps)和Slowmode(100Kbps)。只支持master模式,不支持slaver模式......
  • Redis使用IO多路复用进行事件处理机制
    一、epoll多路复用这里重点要说的就是redis的IO编程模型,首先了解下为什么要有多路复用呢?案例引用知乎上一个高赞的回答来解释什么是I/O多路复用。假设你是一个老师,让30个学生解答一道题目,然后检查学生做的是否正确,你有下面几个选择:第一种选择:按顺序逐个检查,先检查A,然后是B,之后是C......
  • 使用双指针技术去除ArrayList中的重复元素
    技术博客:使用双指针技术去除ArrayList中的重复元素在Java编程中,处理集合数据时,去除重复元素是一个常见的需求。本文将介绍如何使用双指针技术来高效地去除ArrayList中的重复元素,并通过两种不同的方法进行实现。1.问题背景假设我们有一个包含重复元素的ArrayList,例如:ArrayL......
  • 《仙剑客栈2》游戏辅助工具全面操作手册与使用技巧详解
    《仙剑客栈2》是一款结合了模拟经营和角色扮演元素的游戏,玩家在游戏中需要管理一家客栈,同时还要处理各种冒险和故事情节。风灵月影团队制作的修改器可以帮助玩家在游戏中获得更多的便利和乐趣。以下是一个全面的操作手册和使用技巧详解,帮助你更好地使用这款修改器。修改器功能......
  • 图像重建Restormer介绍与使用
    文章目录前言一、Restormer介绍二、环境安装与配置三、代码使用与效果前言图像恢复是计算机视觉领域中的一个重要研究方向,它旨在通过算法修复损坏、模糊或缺失的图像信息,从而恢复图像的原始质量。随着图像处理技术的不断发展,图像恢复在许多领域都发挥着重要作用,如医......
  • 微信小程序使用Promise异步请求
     在微信小程序中,如果你希望在一个HTTP请求完成后再继续执行下面的代码,可以将后续代码放入请求的回调函数中。如果不想使用嵌套的回调函数,可以考虑使用 Promise 来处理异步请求。这样可以更清晰地组织代码,还能避免“回调地狱”的问题。这是原方法并不会在执行完http请求后......
  • 一文带您了解SonarScanner的原理和使用方法(包括maven构建和命令行执行)
    SonarScanner扫描代码SonarScanner执行源代码分析。这个独立的程序在CI/CD主机上运行,并将分析结果发送到SonarQube服务器,由其计算分析结果,计算质量门并生成报告。为了执行分析,SonarScanner使用安装时从SonarQube服务器下载的语言分析器。SonarScanner和SonarQube二者的关系,通......