gpt4 book ai didi

c++ - shell 在 Ubuntu 上实用地运行 addr2line 时的错误消息

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:03:23 28 4
gpt4 key购买 nike

我有以下代码:

        char command[256];
sprintf(command,"addr2line %p -e xcep_app", trace[i]);

addr2lineWriter = popen(command, "r");
if (addr2lineWriter == NULL)
flag = false;

if (flag == true) //execute parsing the output only if the command ran in the first place
{
while (fgets(addr2line_output, sizeof(addr2line_output)-1, addr2lineWriter) != NULL)
{
std::string addr2line_output_(addr2line_output);
complete_backtrace_.push_back(addr2line_output_);
}
pclose(addr2lineWriter);
}

一切正常,但我总是收到以下消息:sh: 1: 语法错误:单词意外(应为“)”)它为什么会来以及如何阻止它。另外,这是什么意思?我安装了 gnome 终端。

最佳答案

这是根据错误信息的猜测。 trace[i] 为 NULL,因此生成的命令为:

addr2line (nil) -e xcep_app

因此被调用以执行命令的 shell 会提示括号。 @WumpusQ.Wumbley 报告 ash 将重现此消息:

ash -c 'addr2line (nil) -e xcep_app'

关于c++ - shell 在 Ubuntu 上实用地运行 addr2line 时的错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16972582/

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