簡體   English   中英

Shell在Ubuntu上實用地運行addr2line時出現錯誤消息

[英]Error message by shell on running addr2line pragmatically on Ubuntu

我有以下代碼:

        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: Syntax error: word unexpected (expecting ")")為什么它來了,以及如何停止它。 另外,這是什么意思? 我已經安裝了gnome終端。

這是基於錯誤消息的猜測。 trace[i]為NULL,因此生成的命令為:

addr2line (nil) -e xcep_app

因此,被調用以執行命令的外殼抱怨括號。 @ WumpusQ.Wumbley報告ash將重現此消息:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM