红联Linux门户
Linux帮助

关于C编程中段错误的疑惑

发布时间:2011-02-09 16:23:18来源:红联作者:superherogood
[i=s] 本帖最后由 superherogood 于 2011-2-10 16:40 编辑 [/i]

在C语言编程中,遇到一种很麻烦的段错误,在Linux中的gdb调试出现“0x00000000 in ??()”,不知道怎么解决,有哪位高高手能指点一二的不?
文章评论

共有 12 条评论

  1. 杨Apply 于 2013-02-27 23:14:47发表:

    新手飘过。求指教。

  2. BeefyMiracle 于 2012-12-19 22:43:40发表:

    {:2_91:}

  3. superherogood 于 2011-02-10 16:33:36发表:

    哎,听了大哥们的意见再去调试原来是忘了给结构体变量分配地址了,汗颜!!!这个教训算记住了。

  4. superherogood 于 2011-02-10 15:51:09发表:

    [b] 9# pl_014 [/b
    看来高手啊,我这里面确实有为零的指针,但是我好想赋给它地址了,而且有时候我的代码不能加变量,加入变量就出现段错误,这很让我纠结。

  5. pl_014 于 2011-02-10 15:09:27发表:

    [i=s] 本帖最后由 pl_014 于 2011-2-10 15:12 编辑 [/i]

    引用:
    4楼说的太模糊了,我也知道是访问了不该访问的内存,但是用gdb也不能发现此错误。
    superherogreat 发表于 2011-2-10 09:22

    其实四楼所说的就是段错误的原因,而且一般来讲,知道段错误也只能就知道这些东西了,不过根据提示,似乎这个程序访问了数值为零的地址,即访问了值为NULL的指针所指向的。

  6. superherogood 于 2011-02-10 12:32:33发表:

    7# zy66289214


    嗯。

  7. zy66289214 于 2011-02-10 12:00:53发表:

    只要是报段的错误,基本就是指针的错误了。

  8. superherogood 于 2011-02-10 09:26:45发表:

    代码不方便贴出来,我也知道肯定是非法访问内存了,但是我想知道的是遇到这样的问题有没有好的查找的办法,因为用gdb很查不到,用汇编又不会。

  9. superherogreat 于 2011-02-10 09:22:53发表:

    4楼说的太模糊了,我也知道是访问了不该访问的内存,但是用gdb也不能发现此错误。

  10. 奶茶dsk 于 2011-02-10 09:13:04发表:

    一句话,
    访问了不该访问的内存,
    然后就杯具了,

  11. Hanwei 于 2011-02-10 08:33:45发表:

    不懂

  12. shenhao0129 于 2011-02-09 20:46:41发表:

    方便的话先把源代码贴出来