当前位置: 首页 > article >正文

Make breakpoint pending on future shared library load

在使用GDB设置断点的时候,有时候会 GDBh 会提示 "Make breakpoint pending on future shared library load".

一种情形是设置使用dlopen打开的动态库里的断点。

下面通过一个例子说明。

#include <dlfcn.h>
#include <stdio.h>
#include <stdlib.h>

int main() {

  void *handle = dlopen("/usr/lib/x86_64-linux-gnu/libm.so.7", RTLD_LAZY);
  if (!handle) {
    printf("dlopen error: %s\n", dlerror());
    return 1;
  }

  double (*sin)(double);
  sin = dlsym(handle, "sin");

  char *error = dlerror();
  if (error != NULL) {
    printf("dlsym error: %s\n", error);
    return 1;
  }

  printf("sin(0.5) = %f\n", sin(0.5));

  dlclose(handle);

  return 0;
}
~                   

编译出二进制文件。用GDB设置断点到sin:

(gdb) b sin
Function "sin" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (sin) pending.
(gdb) r
Starting program: ..
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Breakpoint 1, __sin_fma (x=0.5) at ../sysdeps/ieee754/dbl-64/s_sin.c:201
201	../sysdeps/ieee754/dbl-64/s_sin.c: No such file or directory.
(gdb) bt
#0  __sin_fma (x=0.5) at ../sysdeps/ieee754/dbl-64/s_sin.c:201
#1  0x0000555555555278 in main () at 2.c:22
(gdb) 


http://www.kler.cn/news/318878.html

相关文章:

  • mfc140u.dll引发的软件故障怎么破?mfc140u.dll文件损坏的解决办法全知道!
  • Linux 简易shell编写
  • C# winforms 使用菜单和右键菜单
  • 游戏开发2025年最新版——八股文面试题(unity,虚幻,cocos都适用)
  • 《数据压缩入门》笔记-Part 1
  • AlDente Pro for Mac电池健康保护工具
  • Centos下安装Maven(无坑版)
  • qt相关面试题
  • 实时美颜的技术突破:视频美颜SDK与直播美颜工具的开发详解
  • 【STM32】STM32G431RBT6芯片引脚默认功能是什么?
  • python学习第十二节:python开发图形界面
  • [翟旭发射器]python-推导式-列表list表达式练习
  • 计算机毕业设计之:基于微信小程序的共享充电桩系统的设计与实现
  • HTTP 教程
  • 架构面试题
  • 工业能源物联网的建设与维护该如何实现
  • 力扣P1706全排列问题 很好的引入暴力 递归 回溯 dfs
  • 2024年及未来:构筑防御通胀的堡垒,保护您的投资
  • XXl-SSO分布式单点登录框架
  • 记录一次学习--kerberos协议学习以及一些攻击手法
  • 【Java】虚拟机(JVM)内存模型全解析
  • PostgreSQL运用关键点是什么呢?
  • RL进阶(一):变分推断、生成模型、SAC
  • ESXI主机加入VCENTER现有集群提示出现常规性错误
  • Vue 自定义指令实现权限控制
  • Redis哨兵详细理论实操教程
  • UE4_后期处理七—仿红外线成像效果
  • 配置Docker镜像加速器
  • 一个10k stars开源的证件照工具
  • 【Go语言】Go语言结构体全面解析