博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
gdb中设置共享库断点问题
阅读量:4035 次
发布时间:2019-05-24

本文共 376 字,大约阅读时间需要 1 分钟。

假设我的可执行程序是A,共享库为B.so 

  我用gdb调试A,想在B的某个源文件(比如C.cpp,C.cpp与A不在同一个目录下)中设置断点,使用下面的命令行 
  break   C.cpp:123 
  提示说“No   source   file   named   C.cpp” 
  我尝试用下面各种方法设置C.cpp的路径也不行: 
  1.   使用gdb的-d参数 
  2.   使用gdb的dir命令 
  3.   设置PATH环境变量    
  如果我用gdb调试B.so,即 
  gdb   B.so 
  则设置断点是可以的,但光是一个so没法运行,那我该怎么做呢?
当然可以调试了 
  如果你的.so的源文件路径在/so下面 
  那你你首先需要 
  $gdb   main  
  $directory   /so    
  记住用directory目录
问题已经解决    
  先break   main,   然后run,使.so加载 
  然后再对共享库进行break设置

转载地址:http://uscdi.baihongyu.com/

你可能感兴趣的文章
从头开始学习JSP(3)——一些配置
查看>>
html常用标签快速检索
查看>>
使用与或运算完成两个整数的相加
查看>>
备忘:java中的递归
查看>>
DIV/CSS:一个贴在左上角的标签
查看>>
通过/proc/PID/status查看进程内存占用情况
查看>>
/proc文件系统读出来的数据是最新的吗?
查看>>
Solr及Spring-Data-Solr入门学习
查看>>
Vue组件
查看>>
python_time模块
查看>>
python_configparser(解析ini)
查看>>
selenium学习资料
查看>>
python单元测试unittest学习
查看>>
Errors running builder 'Validation' on project 'jumi_3.0'
查看>>
SpringMVC学习笔记
查看>>
springMVC如何接收前端传递的数组数据
查看>>
查看当前占用端口、关闭当前端口所暂用的进程
查看>>
Eclipse中有用的快捷键
查看>>
mysql将表字段信息拼接转换成实体类中的属性书写格式
查看>>
有return的情况下try catch finally的执行顺序
查看>>