0

我正在做一个使用 ELF 文件的项目。现在我使用以下作为示例输入 -

class C {
public:
    C();
    C(int x, int y);
    int getX();
private:
    int x;
    int y;
};

class SubC : public C {
    int z;
};

int f() {return 0;}

C c;
SubC subC;

int i;
double d;

然后我跑

gcc test.cpp -g -c -o test.o

我得到了 test.o 的预期。然后我将 test.o 输入我发现的一个名为peter-dwarf的库中。我的问题是库说“在 test.o 中没有找到 .debug_str 部分”

我在编译过程中做错了吗?还是图书馆不工作?

编辑:应该是 -g 在那里

4

2 回答 2

1

在 gcc 中使用-g以生成调试符号。您也可以在此处参考 gcc 的调试选项文档。

如果您的-g系统以某种方式配置,则单独的可能不包含 DWARF 信息。有许多与 DWARF 相关的开关,所以如果-g单独不起作用,您可能需要去那里并与其他开关一起使用。

于 2013-04-21T06:02:09.197 回答
0

可能您需要在启用调试信息的情况下进行编译。尝试:

gcc -g test.cpp -c -o test.o
于 2013-04-21T06:01:40.633 回答