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

时间:2013-10-18 20:24:18

标签: c xcode macos gcc

我想调试c程序,在我的MAC终端上,我使用“gcc -o deng.c”p.s路径是对的,但它说“没有这样的文件或目录”。我已经安装了xcode和Commd line。

#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;
}

2 个答案:

答案 0 :(得分:9)

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

gcc -g deng.c

-g告诉编译器包含调试符号。二进制文件称为a.out(您可以通过运行deng将程序名称更改为gcc -g deng.c -o deng

要实际运行该程序,您必须运行./a.out(或./deng,如果您使用-o deng运行gcc。

要调试程序,请运行gdb a.out(或gdb deng),然后键入run。有关gdb的更多帮助,read the documentation

答案 1 :(得分:8)

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

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