UNIXソケットを使用して単純なクライアントサーバーシステムを作成しています。クライアントプログラムを端末から実行すると、セグメンテーション違反が発生します。
seg-faultはnoobエラーが原因であると確信していますが、KDBG(kde gdbフロントエンド)を使用してデバッグしようとすると問題が発生します。
これはそれが壊れるところです:
if (DEBUG) printf("-- connect()... \n");
if (connect (mySocket, (struct sockaddr *)socketAddr,sizeof (*socketAddr)) == -1) {
perror(error);
printf("%s\n",error);
printf ("-- Error when stablishing a connection\n");
return -1;
}
そしてこれは出力です:
-- connect()...
Connection refused
-- Error when stablishing a connection
このコードをそのようにデバッグすることはできませんか?なんで?
できれば、今何が起こっているのですか?より多くの情報を取得するにはどうすればよいですか?
PS:PS:@abelenky:その部分はデバッガーから完全に機能します。これはsocketAddrの宣言です:
struct sockaddr_in socketAddr;
...
if ( (mySocket = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
printf("Error al crear el socket\n");
return -2;
}