当前位置:  技术问答>linux和unix

使用GDB单步调试源码时,单步执行与源码不一致.

    来源: 互联网  发布时间:2015-12-13

    本文导语:  我编译MPLAYER后,它是用C语言写的,然后用GDB单步调试时,但代码和执行不匹配,具体表现为单步执行下一句代码时,它竟然跳到上面一行代码,或 者跳到其他函数(不是INLINE)函数,而且有些变量看不到.我确定调试的程序与源码是一致...


我编译MPLAYER后,它是用C语言写的,然后用GDB单步调试时,但代码和执行不匹配,具体表现为单步执行下一句代码时,它竟然跳到上面一行代码,或
者跳到其他函数(不是INLINE)函数,而且有些变量看不到.我确定调试的程序与源码是一致的,调试的程序是当前源码所编译联接产生的.
这个问题困绕我很久了.我的环境是 radhat eh4/fc5 ,gcc 3.4.4,gdb 6.3.0.0
我在FC5上编译,然后调试也是一样的错误.

|
最大的可能就是,mplayer的Makefile中的编译命令行使用了-O选项(代码优化),这样,编译出的代码已经被compiler给处理过了。不和原来的源代码一一对应。
-g选项应该有的(现在应该也有了),不然你都看不到源码的对吧。

所以你改改Makefile或.configure或Makefile.in,看看将编译命令行中的-O去掉,加上-g(如果没有)

    
 
 

您可能感兴趣的文章:

  • 请问如何在一个文件系统修改源码管理并使用多个卷(存储设备)
  • 新内核源码的使用
  • linux 中androd源码下载 后的.git文件的使用
  • 大家一般使用什么工具来阅读源码
  • 使用哪种cvs从sourceforge下载源码
  • 哪里能获得文本框与弹出日历联合使用的HTML源码?
  • 源码安装的软件,怎么使用哦
  • 求购使用JSP设计的网站源码
  • linux使用tar.gz源码包安装 apache 和 mysql 目录问题
  • 请问做好的驱动,发布给用户的时候,用户必须要在各自的Linux中重新编译驱动源码才能使用吗?
  • 使用ftw遍历时的一个问题,以及du的源码从何处下载?
  • 能否在商业软件中使用一小部分GNU源码
  • 救急,新下载的 Linux 内核源码如何使用?
  • python使用正则表达式检测密码强度源码分享
  • 使用C#获取网页HTML源码的例子
  • C#中使用快速排序按文件创建时间将文件排序的源码
  • 谁有top命令的源码?如何获得cpu使用率
  • 使用Java实现系统托盘功能的介绍(附源码以及截图)
  • Android 使用Gallery实现3D相册(附效果图+Demo源码)
  • 三种获取网页源码的方法(使用MFC/Socket实现)
  • 如何使用linux下gdb来调试python程序
  • linux下用gdb调试程序感觉非常不方便,不知道大家使用的什么工具进行调试的呀?
  • 使用gdb调试
  • 如何使gcc后的代码,使用相对路径存在调试信息?
  • 晕了,solaris系统下,使用gcc -g选项编译出的程序,怎么没有调试信息
  • 为什么socket程序使用gdb调试执行就接受不到数据了呢?
  • 我想使用Telnet调试电路板????
  • 如何在eclipse中使用断点来调试程序
  • pycharm 使用心得(五)断点调试
  • 如何使用gdb调试core?
  • 紧急求助:gdbserver远程调试的使用问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux下不使用sudo命令执行docker的操作步骤
  • 在测试memset函数的执行效率时,分为使用Cash和不使用Cash辆种方式,该如何控制是否使用缓存?
  • SUSE10下,如何使用perl语言执行一条语句:从一台机器telnet到远端另一台机器,在远端机器上执行命令,并能获取到执行结果。请高手指点,Very 谢谢~
  • 关于在QT环境下加载gif图片的问题(可以显示,但是只有使用终端启动可执行文件才能显示,双击执行却不显示)这是为什么?
  • 如何使用crontab来定时执行一个.php的程序
  • 使用Statement.java里的execute执行存储过程问题
  • 关于如何使用shell自动执行一个sybase的存储过程
  • 使用终端远程执行程序的问题!
  • 使用java执行定时任务示例
  • 有谁使用过cgywin吗?它有文字编辑的执行文件吗?
  • 如何让用户只能使用sftp而且不能执行其他shell命令
  • Unix下System函数实现中为何要使用shell去调用执行程序?
  • 我想使用snoop命令,可是又不是root用户,可否设置我的帐户可以执行snoop呢?
  • 请问:在HP-UX下如何替换正在使用的可执行文件?
  • 在使用main时怎样执行参数的命令
  • 求教:使用crontab如何完成每间隔80分钟的执行一个命令的方法?
  • gcc使用的问题,为什么不能执行a.out文件?
  • 关于java中执行sql语句使用order by的问题!
  • 使用popen来执行gcc命令,如何根据读出来的gcc的输出来判断gcc是否编译成功?
  • 为何我使用javascript中location'****.jsp'跳到某一页面,jsp页面不重新编译执行
  • 使用ssh远程执行程序出现问题
  • C++ I/O 成员 tellg():使用输入流读取流指针
  • 求ibm6000的中文使用手册 !从来没用过服务器,现在急需使用它,不知如何使用! 急!!!!!
  • C++ I/O 成员 tellp():使用输出流读取流指针
  • 请问:在使用oracle数据库作开发时,是使用pro*c作开发好些,还是使用库函数如oci等好一些啊?或者它们有什么区别或者优缺点啊?
  • Python不使用print而直接输出二进制字符串
  • mysql iis7站长之家
  • Office 2010 Module模式下使用VBA Addressof
  • c#中SAPI使用总结——SpVoice的使用方法
  • windows下tinyxml.dll下载安装使用(c++解析XML库)
  • 使用了QWidget的程序,如何使用后台程序启动它?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3