如何在Mac终端上使用GCC调试C程序?

4
我想在我的Mac终端上调试C程序。我使用"gcc -o deng.c"。
附注:路径是正确的,但它显示“没有这样的文件或目录”。
我已经安装了Xcode和命令行工具。
#include <stdio.h>
#include <string.h>

#define maxn 1000 + 10

int a[maxn];

int main()
{
    int i, j, n, k, first=1;
    memset (a, 0, sizeof(a));
    scanf("%d%d", &n, &k);

    for(i=1; i<=k; i++)
        for (j = 1; j<=n; j++)
            if(j%i == 0)
                a[j] = !a[j];

    for(i=1; i<=n; i++)
        if(a[i])
        {
            if(first)
                first = 0;
            else
                printf(" ");
            printf("%d", i);
        }

    printf("\n");
    return 0;
}

4
gcc -o deng.c?再见了,源代码... - trojanfoe
"Commd line" 是什么?在 "我已经安装了... Commd line" 中。 - Peter Mortensen
2个回答

15

你需要使用lldb,它是Mac上gdb的替代品。

gcc -g deng.c -o deng
lldb ./deng

10

-o 指定输出文件,但这不是你想要的。你可能想要运行

gcc -g deng.c

-g选项告诉编译器包括调试符号。生成的二进制文件名为a.out(你可以通过运行gcc -g deng.c -o deng来将程序名更改为deng)。

要运行程序,必须运行./a.out(如果使用-o deng选项,则运行./deng)。

要调试程序,请运行gdb a.out(或gdb deng),然后输入run命令。获取关于gdb的更多帮助,请阅读文档


1
要运行它,你必须输入 ./deng./a.out。点号和斜线很重要。 - indiv

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接