在 gdb 中,'where'、'bt' 和 'i frame' 命令之间有什么区别?
In gdb, what's the difference between 'where', 'bt', and 'i frame' commands?
似乎它们都打印出有关当前调用帧的信息,'i frame' 似乎提供了更多信息。但是我真的没有看到 'where' 命令的必要性。有什么是 'where' 命令可以做而 'bt' 或 'i frame' 不能做的吗?
谢谢!
where
和 bt
是完全同义词并产生完全相同的输出。来自 manual:
The names where and info stack (abbreviated info s) are additional
aliases for backtrace.
info frame
完全不同:它描述的是 当前 帧,而不是调用堆栈。
I don't really see the necessity of 'where' command
它的存在是为了让第一次使用其他调试器的人(例如 dbx
)的生活更轻松。
似乎它们都打印出有关当前调用帧的信息,'i frame' 似乎提供了更多信息。但是我真的没有看到 'where' 命令的必要性。有什么是 'where' 命令可以做而 'bt' 或 'i frame' 不能做的吗?
谢谢!
where
和 bt
是完全同义词并产生完全相同的输出。来自 manual:
The names where and info stack (abbreviated info s) are additional
aliases for backtrace.
info frame
完全不同:它描述的是 当前 帧,而不是调用堆栈。
I don't really see the necessity of 'where' command
它的存在是为了让第一次使用其他调试器的人(例如 dbx
)的生活更轻松。