代码之家  ›  专栏  ›  技术社区  ›  gct

GDB回溯中的0x2E?

  •  0
  • gct  · 技术社区  · 14 年前

    我在我的代码中找到了一个SIGSEGV,但是我从GDB中得到了这样奇怪的回溯:

    #1  0x00407d15 in print_banner (msg=0x2e2e2e2e <Address 0x2e2e2e2e out of bounds>)
        at ../include/test_util.hh:20
    #2  0x2e2e2e2e in ?? ()
    #3  0x2e2e2e2e in ?? ()
    #4  0x2e2e2e2e in ?? ()
    #5  0x2e2e2e2e in ?? ()
    #6  0x2e2e2e2e in ?? ()
    #7  0x2e2e2e2e in ?? ()
    #8  0x2e2e2e2e in ?? ()
    #9  0x2e2e2e2e in ?? ()
    #10 0x2e2e2e2e in ?? ()
    #11 0x2e2e2e2e in ?? ()
    #12 0x2e2e2e2e in ?? ()
    #13 0x2e2e2e2e in ?? ()
    #14 0x2e2e2e2e in ?? ()
    #15 0x2e2e2e2e in ?? ()
    #16 0x2e2e2e2e in ?? ()
    #17 0x2e2e2e2e in ?? ()
    #18 0x2e2e2e2e in ?? ()
    #19 0x2e2e2e2e in ?? ()
    #20 0x2e2e2e2e in ?? ()
    #21 0x2e2e2e2e in ?? ()
    #22 0x2e2e2e2e in ?? ()
    #23 0x2e2e2e2e in ?? ()
    #24 0x2e2e2e2e in ?? ()
    #25 0x2e2e2e2e in ?? ()
    #26 0x2e2e2e2e in ?? ()
    #27 0x2e2e2e2e in ?? ()
    #28 0x2e2e2e2e in ?? ()
    #29 0x2e2e2e2e in ?? ()
    #30 0x2e2e2e2e in ?? ()
    #31 0x2e2e2e2e in ?? ()
    #32 0x2e2e2e2e in ?? ()
    #33 0x2e2e2e2e in ?? ()
    #34 0x2e2e2e2e in ?? ()
    #35 0x2e2e2e2e in ?? ()
    #36 0x2e2e2e2e in ?? ()
    #37 0x2e2e2e2e in ?? ()
    #38 0x2e2e2e2e in ?? ()
    #39 0x2e2e2e2e in ?? ()
    #40 0x2e2e2e2e in ?? ()
    #41 0x2e2e2e2e in ?? ()
    #42 0x2e2e2e2e in ?? ()
    #43 0x2e2e2e2e in ?? ()
    #44 0x2e2e2e2e in ?? ()
    #45 0x2e2e2e2e in ?? ()
    #46 0x2e2e2e2e in ?? ()
    #47 0x2e2e2e2e in ?? ()
    #48 0x2e2e2e2e in ?? ()
    

    除了告诉我print\u banner得到0x2e作为msg参数(const char*),这些值是从哪里来的,GDB是不是想告诉我一些具体的信息?

    1 回复  |  直到 14 年前
        1
  •  11
  •   nos    14 年前

    当你破坏了堆栈,覆盖了gdb所需要的内容时,就会得到这个结果。

    工具,如 valgrind

    推荐文章