gdb如何调试动态链接库

2023-11-02

gdb) file <exe>
(gdb) load <XXX.so>                #这条应该是可选的
(gdb) dir <so'dir>
(gdb) sharedlibrary <so>
(gdb) breakpoint <so中somewhere>
(gdb) run
load 是将动态库加载入内存;
sharedlibrary是将动态库的符号读入gdb,为了能找到变量和函数名;
它们本身是没明显的动作,但后面直接设置断点到动态库的函数(或行号);

在此之前要记得用dir将动态库的源码也加入搜索路径;
 

参考

  1. gdb如何调试动态链接库问题
  2. GDB调试动态库

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

gdb如何调试动态链接库 的相关文章

  • Nginx:配置worker进程的所属用户

    Nginx的配置文件 etc nginx nginx conf中定义了启动worker时的所属用户 全局块 user www data worker进程的所属用户 nginx默认设置为www data 但如果该用户配置的不正确 可能造成业务
  • linux常用命令总结

    linux常用命令总结 1 在根目录下查找xxx文件 2 列出程序启动时搜索库路径的过程 3 查看程序或so的依赖 1 查看Test程序依赖的so文件 2 也可以查看so依赖的文件 4 SSH相关 5 查看当前登录的用户 6 查看重启 登录
  • Linux清除原有ssh密钥方法

    Linux清除原有ssh密钥方法 1 问题现象 以前在mac的终端下面使用ssh user localhost输入密码就可以连接到远程的SSH服务器 今天连接的时候老是提示如下错误 KENFORFORLIN kenforstar sudo
  • gdb如何调试动态链接库

    gdb file
  • Googletest 实现简要分析

    借助于 Googletest 测试框架 我们只需编写测试用例代码 并定义简单的 main 函数 编译之后并运行即可以把我们的测试用例跑起来 更详细的内容可参考 Googletest 入门 但 main 函数调用 RUN ALL TESTS
  • Linux异步IO实现方案总结

    一 glibc aio 1 名称 由于是glibc提供的aio函数库 所以称为glibc aio glibc是GNU发布的libc库 即c运行库 另外网上还有其他叫法posix aio 都是指glibc提供的这套aio实现方案 2 主要接口
  • Android/Linux EAS优化-schedtune

    Linux cgroups机制中的cpu cpuset schedtune子系统 跟linux android进程调度策略有关 记录下各项功能参数的用法 SchedTune SchedTune是一项与CPU调频相关的性能提升技术 它实现为一
  • u-boot常用命令

    u boot常用命令 查看u boot所支持的命令 查询命令 u boot版本 环境变量 板子相关信息 环境变量操作 内存操作 网络操作 EMMC和 SD卡操作 FAT 格式文件系统操作 EXT格式文件系统操作 ubi格式文件系统操作 bo
  • x86中vdso数据段的初始化及更新和使用

    1 vdso 数据段的初始化 1 数据段的定义 vdso 数据段由内核进行声明和定义 其中 在链接脚本 arch x86 entry vdso vdso layout lds S 里指定了 vdso 的数据段的名称和位置 相关内容如下 SE
  • BlueZ5.45 D-Bus总线 GATT API 分析

    笔者目前做linux系统下bluez蓝牙项目开发 发现网上关于bluez开发的资料很少 对于刚开始接触bluez蓝牙的开发人员来说是非常痛苦的 通过调试bluez源码自带的应用例子和文档说明 对BlueZ5 45 D Bus总线 GATT
  • 线程学习--pthread--锁链及条件变量

    pthread cond wait函数的使用 一般跟lock一起用 pthread mutex lock mutex pthread cond wait cond mutex 等待条件变量满足 把获得的锁释放掉 注意 1 2两步是一个原子操
  • Ubuntu搭建Nginx服务器

    Ubuntu搭建Nginx服务器 安装Nginx 配置文件 全局配置文件 子配置文件管理 sites availables和sites enabled default配置文件 启动 停止 重启Nginx 启动 停止 重启 查询 其他设置 自
  • valgrind 在开发板上运行以及使用

    前言 bedug无处不在 今天花落我家 现象 一个月出现一次异常 难易复现排查 借助神器valgrind排查 1 下载及编译准备 下载地址 https www valgrind org tar jxvf valgrind 3 16 1 ta
  • /sys/module 模块信息与 /proc/modules

    看到一篇关于 proc moduels 以及 sys module 相关介绍 转载一下 http linux chinaunix net techdoc system 2008 07 18 1018163 shtml 在编译模块的时候 如果
  • Shell:查看进程与对应的线程

    1 通过 ps efL grep 进程ID或名字 UID PID PPID LWP C NLWP STIME TTY TIME CMD user 228298 201990 228298 0 2 00 14 pts 0 00 00 00 t
  • VS Code + Markdown Preview Enhanced 出现 mermaid预览流程图看不见线条问题的解决方案

    VS Code mermaid预览流程图看不见线条问题的解决方案 使用mermaid插件可以在Markdown文档中插入漂亮的流程图 但是VS code安装上Markdown Preview Enhanced插件之后 看到的却是这样的效果
  • Linux中普通用户和ROOT用户对Java JDK的配置

    Linux中对对各种工具文件不需要想Windows中似的 还要先一步一步的安装 有的还需要配置环境变量 比如Windows对Java的安装过程 在Linux中 使用指令 tar zxvf 文件名 注意空格 解压完 tar gz 文件 或使用
  • Ubuntu(20.04):设置DNS

    编辑文件 etc systemd resolved conf 设置DNS 8 8 8 8 114 114 114 114 保存退出后 以sudo身份运行 systemctl restart systemd resolved systemct
  • 通过进入单用户模式解决linux中的rc.local修改后无法启动的问题

    问题 本想将teamviewer这个软件随linux自启动 所以将其启动命令放在rc local中 但是重启后发现linux启动不起来了 系统前面都是正常启动的 就是无法进入帐户登陆界面 无法输入root帐号密码 不能登陆到系统 按了ctr
  • linux 复位usb设备 模拟热插拔脚本

    获取USB设备数量 DEVICE NUM lspci grep USB awk F print 1 wc l 获取设备号 DEVICE lspci grep USB awk F print 0000 1 sed n i p 设备解绑 ech

随机推荐

  • android动态设置maxheight,android - 如何在TextInputLayout上设置maxHeight - 堆栈内存溢出...

    我不想限制行数 我想限制TextInputLayout最大高度 这样 如果它太长 它将变为垂直滚动 我很好的代码解决方案 当前maxHeight属性对TextInputLayout或EditText无效 这是我的布局 xmlns app h
  • GB28181 对接海康平台,解决音视频卡顿问题

    GB28181 对接海康平台 解决音视频卡顿问题 一 概述 二 问题分析 1 设备对比分析 2 抓包对比分析 3 验证分析结果 三 总结 四 讨论 一 概述 设备使用GB28181协议对接海康平台时 发现音频和视频存在卡顿现象 不是一直卡顿
  • 程序分层领域模型规约中各种实体类命名(DO、BO、DTO、VO)的意义

    仅做参考 DO Data Object 与数据库表结构一一对应 通过DAO层向上传输数据源对象 DTO Data Transfer Object 数据传输对象 Service或Manager向外传输的对象 BO Business Objec
  • 期货开户一心一意坚持到底

    只有真正了解了自己的性格 那么离寻觅到适合自己性格的交易法则也就不远了 只有专注 一心一意的做某件事情 才能做到无困无惑 如果三心二心 那么最终只会一事无成 大道至简 坦然面对自己人性的弱点 才能做到交易简单 生活快乐 其实一时的坚持非感觉
  • npm run build:prod报错:events.js:291 throw er; // Unhandled ‘error‘ event处理办法

    解决办法 1 CTRL R输入cmd 2 在命令行输入 netstat ano findstr 8080 3 找到占用的PID号 进行查找 tasklist findstr 16504 4 CTRL SHIFT DELETE打开任务管理器
  • Qt: error: C2001: 常量中有换行符

    这里简单记录在使用Qt Creator时遇到的一个问题 如下一行代码 没有任何问题 但编译运行时会报错 label gt setText label 我是一个窗口 当使用中文时 可能会习惯性的使用QObject tr 函数 label gt
  • 文件查重FindDupFile

    finddupfile是网上用的比较多的一款绿色查重软件 具体步骤请参考以下 1 下载软件 可从网上下载该软件 或者从以下地址进行下载 本软件从网上可自行下载 下载链接 https pan baidu com s 1KDJ9U4U 8HQa
  • 数学分析闭区间套定理_什么是区间套定理?

    什么是闭区间 数轴上任意两点和这两点间所有点组成的线段为一个闭区间 闭区间套定理 有无穷个闭区间 第二个闭区间被包含在第一个区间内部 第三个被包含在第二个内部 以此类推 后一个线段会被包含在前一个线段里面 这些区间的长度组成一个无穷数列 如
  • FineReportV10.0入门

    第三章 报表属性设计基础 第三课层次坐标 常用公式
  • gitlab CI/CD自动化部署

    文章目录 1 gitlab Runner 1 1 安装gitlab Runner 1 2 注册runner 2 gitlab ci yml的书写 3 部署 3 1 docker方式部署 3 2 OSS部署 CI CD 是一种持续开发软件的方
  • 针对QT——“在程序文件中(*ui,*cpp,*h)更改之后编译运行的程序结果无法更新”——解决方案

    本篇文章主要介绍在QT中 对程序文件 ui cpp h 更改之后编译运行的程序结果却无法更新的解决方案 问题描述 在设计QT的GUI用户界面时 我们需要不断对程序文件进行修改以优化用户体验 因此需要更新程序的生成文件 实际经历 笔者最近在一
  • IntelliJ Spring Configuration Check

    用IntelliJ 导入现有工程时 如果原来的工程中有spring 每次打开工程就会提示 Spring Configuration Check 开始不知道怎么回事 但工程不影响 首先到工程设置界面 工程设置 Project Structur
  • 1-APP启动源码分析-1

    桌面app也就是我们认识的launcher app 点击app icon启动到app内部的过程分为2种情况 一种是冷启动 一种叫热启动 冷启动 系统没有创建过app的进程 也就是后台没有此app进程 所以冷启动系统会创建一个新的进程分配给a
  • 高效阅读嵌入式源码系列一:静态分析神器understand软件基本操作

    系列文章目录 高效阅读嵌入式源码系列一 静态分析神器understand软件基本操作 高效阅读嵌入式源码系列二 understand阅读linux uboot等源码 高效阅读嵌入式源码系列三 understand阅读经keil MDK编译的
  • Celery + custom backend

    custom backend 以redis为例 本质是用自定义的backend替换RedisBackend https docs celeryq dev en stable getting started backends and brok
  • 盘点 10大 数据库!

    大家好 我是小猿 DB Engines 最近发布了 2021 年 9 月份的数据库排名 该网站根据数据库管理系统的受欢迎程度对其进行排名 实时统计了 378 种数据库的排名指数 前 30 名的排行情况详见下图 前10大数据库 用线段做了分割
  • Docker安装clickhouse

    目录 1 创建相关配置目录 2 拉取镜像 3 查看 Network ports ClickHouse Docs 中端口号配置 暂时只需要映射8123 9000 两个端口 4 创建临时容器 用以生成配置文件 5 将配置文件复制到 data c
  • 达梦数据库教程:DM8查看试用版证书到期时间SQL

    达梦数据库试用期限为一年 不是以本地安装时间算起的 是安装包已经把开始时间和截止时间内置好了 官网定期更新安装包版本 如果想看你安装的达梦啥时候到期 执行以下语句即可 select from v license 查询出记录后 看EXPIRE
  • MySQL 留存率和复购率的场景分析

    实际工作中常见的业务场景是求次日留存率 还有一些会对次日留存率增加限制 例如求新用户的次日留存率或者求活跃用户留存率 另外 留存率和复购率看起来都是统计重复出现的概率 但实际求解方法是不一样的 场景 次日留存率 复购率 知识点 留存率的定义
  • gdb如何调试动态链接库

    gdb file