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

关于core调试

    来源: 互联网  发布时间:2016-05-30

    本文导语:  因为项目release的时候使用了-g -O2选项 编译出来的程序core dump的时候产生的堆栈信息不能完整的反应出来信息,  很多的变量无法在打印出来,应该是编译器优化合并变量造成的,我用是objcopy --only-keep-debug 导出的...

因为项目release的时候使用了-g -O2选项 编译出来的程序core dump的时候产生的堆栈信息不能完整的反应出来信息, 
很多的变量无法在打印出来,应该是编译器优化合并变量造成的,我用是objcopy --only-keep-debug 导出的符号表 有没有办法在不改变编译选项的情况下产生信息

|
如果是linux,沒辦法的,linux的coredump文件包含的調試信息少,只能重新編譯patch,生成一個debug版本的,

然後用gcc載入core文件和那個debug版本的patch,然後定位到core dump的位置查找原因

如果是Solaris的系統,就不需要重新編譯debug版本的patch了,因為Solaris採用了增強型的coredump文件,可

以直接用mdb來調試了

|



有些编译器在加了-O之后-g就没用了,不过gcc编译器倒是允许-g的同时使用-O,产生的结果可能会比较奇怪。 参考gcc说明:
                GCC allows you to use -g with -O.  The shortcuts taken
              by optimized code may occasionally produce surprising
              results: some variables you declared may not exist at
              all; flow of control may briefly move where you did not
              expect it; some statements may not be executed because
              they compute constant results or their values were
              already at hand; some statements may execute in
              different places because they were moved out of loops.

    
 
 

您可能感兴趣的文章:

  • 有调试经验的高手请进:调试程序如何生成core?如何调试core文件定位错误。
  • 为嘛CORE文件这么大,装些啥玩意哦,如何限制CORE文件大小 iis7站长之家
  • 请问:用gdb进行调试时,core文件是怎么生成的啊?
  • 经常听人调试程序时说程序“core了”,不知道所说的“core了”是什么意思?望大虾指点迷津......
  • 程序访问内存非法退出,调试core时,却发现#0 0x00000000 in ?? () ,奶奶的,已经加了调试信息了
  • 如何使用gdb调试core?
  • 请问如果要调试core文件是不是一定要在崩溃的那台机器上调?
  • linux下调试core的命令,察看堆栈状态命令
  • 错误调试 bus error (core dumpd)
  • linux下C编程:调试中利用core dump 分析的问题,各位帮忙啦,谢谢!
  • FC12 GDB调试无法产生core文件,是为什么呢?
  • 调试core文件的问题?
  • 求助:gdb调试core文件,加了-g参数,还是显示no debugging symbols found
  • Fedora Core 3 下gdb调试问题
  • 怎样用GDB调试core文件
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux下c/c++开发之程序崩溃(Segment fault)时内核转储文件(core dump)生成设置方法
  • 一个崩溃程序,什么时候有core,什么时候没core
  • 如何通过 Docker 在 Linux 上托管 .NET Core
  • 为嘛CORE文件这么大,装些啥玩意哦,如何限制CORE文件大小
  • core dump为何不能生成core文件
  • 求教:程序运行时core掉,用gdb察看core显示no debugging symbols是什么原因
  • 请教apt-get install x-window-system-core gnome-core synaptic的"synaptic"有什么作用
  • 程序运行时core掉了,但不产生core文件!
  • Fedora Core3 怎样硬盘安装????Fedora Core3 的disk1里没有dosutils文件
  • LINUX程序运行时有CORE文件吗?
  • 【求教】符号表是干什么用的?怎么用?core dump出来以后怎么看?
  • 急!!! 怎么通过core文件,查找程序中的错误!???
  • 程序出core
  • 关于core dump
  • 无法生成core文件
  • 怎么使用core dump
  • *~ core是什么意思?为什么以这种形式
  • 双硬盘安装Fedora Core的问题
  • 如何让系统不产生core文件?
  • core 文件大小为0 ,gdb不识别
  • Open Ethernet IP core


  • 站内导航:


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

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

    浙ICP备11055608号-3