gpt4 book ai didi

c - GDB - 不显示调用命令的结果

转载 作者:太空宇宙 更新时间:2023-11-04 04:19:14 25 4
gpt4 key购买 nike

我有一个非常精细的打印函数来帮助我进行调试。不幸的是,它直接打印到指定的文件流,而不是返回一个字符串(而是返回一些不相关的值)。在GDB中调用help call时,call好像没有任何参数。难道真的不能隐藏call命令的返回结果吗?或者还有其他我应该接受的命令吗?

最佳答案

我们可以将函数的结果转换为 void 以丢弃它的值。


MWE

callnoresult.c

#include <stdio.h>
void pretty_printer() {
fprintf(stderr, "Hello world!\n");
}

int main() {
return 0;
}

然后,在终端中:

gcc callnoresult.c -o callnoresult
gdb ./callnoresult

<gdb message>

b main
run
call (void) pretty_printer()

<"Hello world!">

参见 What does casting to void really do?有关类型转换的更多信息。

关于c - GDB - 不显示调用命令的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48449731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com