gdb如何检索目标程序的退出代码?

Hin*_*sum 4 gdb exit terminate echo

在命令行下,我知道使用 echo $? 给我退出代码。在gdb中,我使用“r”来运行程序,程序终止,那么gdb如何获取这个退出代码呢?gdb中有什么命令吗?

谢谢!

Tom*_*mey 5

当程序退出时,gdb 将便利变量设置$_exitcode为退出代码。

所以给出:

int main() {
  return 23;
}
Run Code Online (Sandbox Code Playgroud)

在 gdb 中运行它,我得到:

(gdb) run
Starting program: /tmp/q 
[Inferior 1 (process 3677) exited with code 027]
(gdb) print $_exitcode
$1 = 23
Run Code Online (Sandbox Code Playgroud)

  • [下级 1(进程 3677)退出,代码为 027] <- 027 是八进制的 27,实际上是十进制的 23。有关原因,请参阅 https://unix.stackexchange.com/questions/24368/unix-history-return-code-octal... (3认同)