我想调试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;
}
答案 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