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

gdb如何检索目标程序的退出代码?,gdb,echo,exit,terminate,Gdb,Echo,Exit,Terminate,在命令行下,我知道使用echo$?给我出口代码。在gdb中,我使用“r”来运行程序,程序终止,那么gdb如何获得这个退出代码呢?gdb中有命令吗 谢谢 程序终止时,它只在调试会话结束时打印退出代码。或打印正常退出的0退出代码。请参阅此测试程序的测试调试会话: #include <stdlib.h> int main(int argc, char *argv[]) { return atoi(argv[1]); } 当程序退出时,gdb将便利变量$\u exitcode设置

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


谢谢

程序终止时,它只在调试会话结束时打印退出代码。或打印正常退出的
0
退出代码。请参阅此测试程序的测试调试会话:

#include <stdlib.h>

int main(int argc, char *argv[]) {
    return atoi(argv[1]);
}

当程序退出时,gdb将便利变量
$\u exitcode
设置为退出代码

因此:

int main() {
  return 23;
}
在gdb中运行它,我得到:

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

您的问题是关于如何在GDB中打印退出值(Tom Tromey回答了这个问题)还是关于GDB如何在内部获取该值?【次1(流程3677)退出,代码027】
(gdb) run
Starting program: /tmp/q 
[Inferior 1 (process 3677) exited with code 027]
(gdb) print $_exitcode
$1 = 23