問題タブ [segmentation-fault]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
8 に答える
13892 参照

c - セグメンテーション違反を引き起こす fclose()

解析中のタブ区切りのテキスト ファイルがあります。その最初の列には、「1」、「2」、...、「X」、「Y」などの一連の文字列を示す形式chrXの文字列が含まれます。X

ファイルが解析されると、これらはそれぞれchar*呼び出された に格納されます。chromosome

テキスト ファイルは、最初の列で辞書式に並べ替えられます。つまり、"chr1" で始まり、次に "chr2" などの行がいくつかあります。

「chrX」エントリごとに、このエントリに関連付けられている別のファイルを開く必要があります。

openSourceFile次のように定義された関数があります。

問題は、次の行で最初の染色体から 2 番目の染色体 ( からchr1までchr2) に移動するセグメンテーション フォールトでアプリケーションが終了し、最初に開いた染色体ファイルを閉じることです。

fcloseセグメンテーション違反が発生するまで、このファイルからデータを読み取っているため、NULL ポインターを渡していないことはわかっています。これを条件付きでラップすることもできますが、それでもフォールトが発生します。

さらに、アプリケーションが行を解析し、ソース ファイルからデータを正しく読み取るため、 openSourceFile(少なくともchr1の の最初のファイル ハンドルを設定するときに) が機能することがわかっています。FILE*chr1FILE*

fcloseセグメンテーション違反が発生する原因となっているこの呼び出しの原因は何ですか?

0 投票する
7 に答える
1887 参照

c++ - リストを使用するこの C++ コードでセグメンテーション違反が発生する理由は何ですか?

push_back私は複雑な C++ コードをいくつか持っていますが、問題は構造のリストで実行することに絞り込まれます。

のすべてのデータ メンバーにコメントを付けましたがstruct cache_page、それでもエラーは解決しません。行をコメントしてpush_backもエラーはありません。

その理由は何ですか?

GDBを使用してみましたが、関数でエラーが発生し_List_Node_base::hook()ます。

私は何もしないコピーコンストラクターを持っています。cache_page にデータ メンバーがありません。

0 投票する
2 に答える
33852 参照

debugging - セグメンテーション違反のリップ/rsp番号とは何ですか?それらの使用方法

Linuxアプリケーションがクラッシュすると、ログに次のような行が生成されます。

0000000でのセグメンテーション違反rip00003f32a823rsp000123ade323エラー4

それらのripおよびrspアドレスは何ですか?それらを使用して問題を特定するにはどうすればよいですか?それらは「objdump」または「readelf」出力の何かに対応していますか?私のプログラムがそのシンボルを(gdbを使用して使用できる別のファイルに)削除する場合に役立ちますか?

0 投票する
2 に答える
3213 参照

java - JNI セグメンテーション違反バグ

ocamorph という名前のこの形態素アナライザー (オープン ソース、OCml で記述) があります。こちらからダウンロードして手順を作成してください

Javaバインディングにはバグがあり、修正する必要があります。数時間の闘争の後、C、JNI、OCml、およびこれに精通していないため、修正に数日かかるようです。ソフトウェア。

ここでは、小さなファイル (subtitles_136.hu.tok) では機能しますが、大きなファイル (Tolkien_1.hu.tok) では「セグメンテーション エラー」がスローされることがわかります。

これは Java バインディングの C 部分です (/ocamorph/src/bindings/java/src/c/hunmorph_jnistub.c)。これはバグのある部分かもしれません。バグを見つけるためのヒントや助けに感謝します:

Java 部分 (/ocamorph/src/bindings/java/src/java/mokk/nlp/ocamorph/OcamorphWrapper.java) は次のとおりです。

0 投票する
6 に答える
801 参照

c++ - デバッガーのクラッシュを待っていますか?

アサートが失敗した場合、またはセグメンテーション違反が発生した場合、次のいずれかが発生すると非常に便利です。

  • プログラムは、デバッガーを実行するかどうかを尋ねます。
  • デバッガーが接続されるまで、プログラムはクラッシュして待機します。
  • プログラムは、この時点から実行を再開して調査できる何か (コア ダンプ?) を残します。

さまざまなプラットフォーム、言語、デバッガーがあるため、質問は非常に一般的です。C++ について質問していますが、Windows (VS)、Linux (gdb)、Mac (gdb?) のソリューションがコミュニティにとって最も役立つと思います。Linux + gdb に興味があります。

0 投票する
6 に答える
2758 参照

c - Cでのポインタの初期化と文字列の操作

  1. main()から約1000回呼び出されるこの関数があります。この関数でmalloc()を使用してポインターを初期化すると、セグメンテーション違反が発生します。これは、関数を終了する前にポインターをfree()しなかったことが原因である可能性があります。ここで、mainに戻る前にポインタをfree()しようとしましたが、役に立たず、最終的にセグメンテーション違反が発生します。
    1. 上記のシナリオは1つですが、ダブルポインター(** ptr)とポインターの配列へのポインター(* ptr [])を初期化するにはどうすればよいですか?
    2. 文字列(char配列)をcharポインタの配列にコピーする方法はありますか?char arr []; (そのような配列が50個あるとしましょう)char * ptr_arr [50]; ここで、そのような各chararr[]を*ptr_arr[]にポイントします。ここでchar*ptr_arr []を初期化するにはどうすればよいですか?
    3. Cの初期化されていないポインタの影響は何ですか?
    4. strcpy()はそれ自体で「\ 0」を追加しますか、それとも手動で追加する必要がありますか?strncpy()と比較してstrcpy()はどのくらい安全ですか?strcat()やstrncat()と同じように。

ありがとう。

0 投票する
2 に答える
1136 参照

c++ - 優先キューへの挿入中のセグメンテーション違反

優先キューの私の定義は次のとおりです。

私がやっている:

3 ~ 4 個のノードに入ると、セグメンテーション エラーが発生します。

mynodeは空ではありません。

どうすれば解決できますか?

0 投票する
3 に答える
3124 参照

c++ - 実行時エラー (SIGSEGV)

これは、Spoj でのアップロード中に上記のエラーが発生するコードです。Borland C++ でも同じコードが正常に動作します。

0 投票する
6 に答える
3648 参照

c - セグメンテーション違反の質問

C プログラムではprintf、セグメンテーション違反の前のどこかに in コードがあると、出力されないことがあります。これはなぜですか?

0 投票する
5 に答える
3063 参照

objective-c - Cocoa アプリケーションのセグメンテーション違反を追跡するにはどうすればよいですか?

私が書いている Cocoa アプリケーションに問題があります。1 時間ごとに更新されるタイムスタンプ付きのファイルを解析する必要があり、テスト中はセグメンテーション エラーが原因で午後 11 時 45 分頃に一貫してクラッシュし続けます。割り当てが解除されたオブジェクトにメッセージを送信する必要があると想定しています。Xcode のインストールには、オブジェクトの割り当てを追跡し、割り当てが解除されたオブジェクトにメッセージを送信しているかどうかを (できれば) 教えてくれるツールは何ですか?

Mac OS X 10.5 を使用しています。