我想在 中打印 1010 的十进制值gdb,但它打印的结果是我最后给出的结果。
(gdb)
(gdb) p/d 1010
$1 = 1010
(gdb)
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 来获取子进程的存在状态popen()。
情况 1:使用 shell 命令调用函数返回错误。这按预期工作。
func("du -sh _invalid_file_");
Run Code Online (Sandbox Code Playgroud)
输出:
du: cannot access '_invalid_file_': No such file or directory
Child exit value: 1
Run Code Online (Sandbox Code Playgroud)
du这里子进程的存在状态与其中运行的退出值相同bash。
$ du -sh _invalid_file_
du: cannot access '_invalid_file_': No such file or directory
$
$ echo $?
1
$
Run Code Online (Sandbox Code Playgroud)
情况 2:(错误情况)使用以下 shell 命令调用函数返回成功。在我的代码中,WEXITSTATUS()返回值但返回non-zero相同的命令。bash0
du: cannot access '_invalid_file_': No such file or directory
Child exit value: 1
Run Code Online (Sandbox Code Playgroud)
输出:
Child exit value: 141
Run Code Online (Sandbox Code Playgroud)
请建议解决此问题。粘贴下面的代码。
$ …Run Code Online (Sandbox Code Playgroud)