mmap()
システムコールを使用するプログラムが実装されましたが、セグメンテーションフォールトがプロセス実行時に発生します。セグメンテーションフォールトのプログラムを実行すると、
私はこのプログラムをgdbで実行しましたが、それを実行したときにセグメント違反なしでうまくいきました。
gdbで実行するとセグメントの障害に影響する可能性があるのだろうかと思います。 あなたはそれについて教えてくれますか?
mmap()
システムコールを使用するプログラムが実装されましたが、セグメンテーションフォールトがプロセス実行時に発生します。セグメンテーションフォールトのプログラムを実行すると、
私はこのプログラムをgdbで実行しましたが、それを実行したときにセグメント違反なしでうまくいきました。
gdbで実行するとセグメントの障害に影響する可能性があるのだろうかと思います。 あなたはそれについて教えてくれますか?
gdbで実行するとセグメントの障害に影響する可能性がある場合は、
1つの可能性:GDBはアドレスのランダム化を無効にします(バグの再現を容易にするため)。
(gdb) set disable-randomization off
GDBはスレッドのタイミングにも影響する可能性がありますが、それほどの可能性はありません。
おそらく、CまたはC++ルールを破っているコードのどこかで、未定義の動作が呼び出されている可能性があります。 Valgrindの下でプログラムを実行してみてください。このような場合は、より多くの情報を提供する必要があります。
どの言語? C/C++?関連するコードは何ですか? –