0
私は最初に質問hereを求めました。今私はclangを使用するときに同じ問題に遭遇するので、再度尋ねる。clang ++オプションとは何ですか?GDB内部でstd :: coutを関数パラメータとして使用できます
clang ++ 3.8と3.9の両方を試しました。コマンドオプションは "-g -O0"です。
gdbのバージョンは7.11.1-0ubuntu1〜16.04です。ここで
はコードです:
#include <iostream>
using namespace std;
class D
{
int n;
public:
D(int _n):n(_n){}
void dump(ostream &os);
};
void
D::dump(ostream &os)
{
os << "n=" << n << std::endl;
}
int main() {
D d(200);
std::cout << "hello" << std::endl;
return 0;
}
それが「0を返す」ために実行すると、コマンドが失敗した呼び出し:
(gdb) call d.dump(std::cout)
A syntax error in expression, near `)'.
を同じコードと同じGDBコマンドは正常に動作して++グラムでコンパイルしたとき同じオプション。
回避策はありますか?
これは '(gdb)call d.dump(std :: cout)'が失敗する理由には答えません。 – ks1322
通常のデバッグは正常に動作しています。 – venky513
まだ質問に全く答えません。 – ks1322