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

如何在gdb中一次性获取整个堆栈跟踪?

  •  3
  • alexgolec  · 技术社区  · 15 年前

    我正在调试一个内核,显然错误处理程序在ARM上的操作方式是通过 数百 在达到任何实际代码之前的层。不管怎样,我正在通过模拟器远程进行调试,并且一点一点地获取跟踪是很慢的。有没有办法一下子把整件东西拿回来?

    编辑:反向打印堆栈跟踪也会有所帮助。

    1 回复  |  直到 15 年前
        1
  •  5
  •   terminus    15 年前

    (gdb) bt 10
    #0  x () at test.c:4
    #1  0x080483bf in x () at test.c:4
    #2  0x080483bf in x () at test.c:4
    #3  0x080483bf in x () at test.c:4
    #4  0x080483bf in x () at test.c:4
    #5  0x080483bf in x () at test.c:4
    #6  0x080483bf in x () at test.c:4
    #7  0x080483bf in x () at test.c:4
    #8  0x080483bf in x () at test.c:4
    #9  0x080483bf in x () at test.c:4
    (More stack frames follow...)
    

    (gdb) bt -2
    #122467 0x080483bf in x () at test.c:4
    #122468 0x080483bf in x () at test.c:4