タグ付けされた質問 「segmentation-fault」

プロセスに属していないメモリにアクセスすると、セグメンテーション違反が発生します。このタグは、言語を示すタグおよびオペレーティングシステムを示すタグと一緒に使用してください。セグメンテーション違反は通常、ポインタ変数(ほとんどの場合、無効なアドレスを含む)を使用した逆参照操作またはバッファオーバーフローの結果です。無効なポインタ値の根本的な原因は、セグメンテーション違反を生成している場所から遠く離れている可能性があります。


17
「char s []」ではなく、文字列リテラルで初期化された「char * s」に書き込むときに、セグメンテーション違反が発生するのはなぜですか?
次のコードは、2行目でsegフォルトを受け取ります。 char *str = "string"; str[0] = 'z'; // could be also written as *str = 'z' printf("%s\n", str); これは完璧に機能しますが、 char str[] = "string"; str[0] = 'z'; printf("%s\n", str); MSVCおよびGCCでテスト済み。


23
Android Fatal signal 11(SIGSEGV)at 0x636f7d89(code = 1)。どのように追跡できますか?
私はSIGSEGV、Androidアプリでを取得する理由を追跡することに関する他の投稿を読んでいます。Canvasの使用に関連するNullPointersを探すためにアプリを精査する予定ですが、SIGSEGV毎回異なるメモリアドレスを調べます。プラス私が見てきたcode=1とcode=2。メモリアドレスがだった場合0x00000000、私はそれがNullPointerであるという手掛かりを得るでしょう。 私が手に入れた最後のものはcode=2: A/libc(4969): Fatal signal 11 (SIGSEGV) at 0x42a637d9 (code=2) これを追跡する方法に関する提案はありますか? 私には容疑者がいますが、まだ実験に熱心ではありません。私のアプリは、オフラインマッピングにOSMDroid APIを使用しています。OverlayItemクラスは、マップ上のマーカー/ノードを表します。ネットワークを介してデータを収集し、OverlayItemに入力するサービスがあります。これは、マップに表示されます。デザインを簡略化するために、OverlayItemを自分のNodeOverlayItemクラスに拡張しました。これには、UIアクティビティとサービスで使用する追加の属性がいくつか含まれています。これにより、UIとサービスのアイテム情報が一元化されました。インテントを使用してアクティビティにブロードキャストし、何かが変更されたときにUIマップを更新しました。アクティビティはサービスにバインドし、NodeOverlayItemのリストを取得するためのServiceメソッドがあります。OSMDroid APIのOverlayItemの使用かもしれません。と私のサービスは同時にノード情報を更新します。(同時実行の問題) これを書いていると、それが本当に問題だと思います。頭痛の種は、NodeOverlayItemからNodeとOverlayItemを分けているのではなく、Serviceが保持するのは、アクティビティがノードからのデータを必要とするということです。さらに、アクティビティが作成されるとき(onResumeなど)、OverlayItemオブジェクトは、アクティビティが存在しないときにサービスが維持していたノードデータから再作成する必要があります。たとえば、アプリを起動すると、サービスがデータを収集し、UIがそれを表示し、ホームに戻ってアプリに戻ります。アクティビティは、最新のサービスノードデータからOverlayItemをプルして再作成する必要があります。 これは素晴らしい質問でも明確な質問でもありません。それは私のすべてのSOの質問がニッチまたはあいまいであるようです。誰かがこれらのSIGSEGVエラーを解釈する方法について提案があれば、それは大歓迎です! 更新これ は、デバッグセッション中にキャプチャされた最新のクラッシュです。私はこれらのデバイスのうち3つをテストに使用していますが、開発およびテスト中にすべてが確実にクラッシュするわけではありません。GCのログを記録できるように、少しだけ余分に追加しました。問題はおそらくメモリの枯渇に関連していないことがわかります。 03-03 02:02:38.328: I/CommService(7477): Received packet from: 192.168.1.102 03-03 02:02:38.328: I/CommService(7477): Already processed this packet. It's a re-broadcast from another node, or from myself. It's not a repeat broadcast though. 03-03 02:02:38.406: D/CommService(7477): …

30
シグナルによりコマンドが失敗しました:セグメンテーションエラー:11
エラーが出ます... シグナルによりコマンドが失敗しました:セグメンテーションエラー:11 ... Swiftアプリをコンパイルしようとしたとき。Xcode 6.1を使用して、iOS 8.1でiPhone 5用にビルドしようとしています。 私のコード import UIKit class ViewController: UIViewController { @IBOutlet weak var username: UITextField! @IBAction func signIn(sender: AnyObject) { PFUser.logInWithUsernameInBackground(username.text, password:"mypass") { (user: PFUser!, error: NSError!) -> Void in if user != nil { println("Logged In") } else { func myMethod() { var user = …



3
このコードが64ビットアーキテクチャでsegfaultになるのに、32ビットでは正常に機能するのはなぜですか?
次のCパズルを見つけました。 Q:IA-64では次のプログラムがsegfaultするのに、IA-32では正常に動作するのはなぜですか? int main() { int* p; p = (int*)malloc(sizeof(int)); *p = 10; return 0; } int64ビットマシンののサイズは、ポインタのサイズと同じではない可能性があることを知っています(int32ビットであり、ポインタは64ビットである可能性があります)。しかし、これが上記のプログラムとどのように関連しているかはわかりません。何か案は?

6
C ++でのセグメンテーション違反の修正
私はWindowsとUnix用のクロスプラットフォームC ++プログラムを書いています。ウィンドウ側では、コードは問題なくコンパイルおよび実行されます。Unix側ではコンパイルされますが、実行しようとするとセグメンテーション違反が発生します。私の最初の予感は、ポインタに問題があるということです。 セグメンテーション違反エラーを見つけて修正するための良い方法は何ですか?


4
AndroidのJNIでSIGSEGV(セグメンテーション違反)をキャッチしてスタックトレースを取得するにはどうすればよいですか?
プロジェクトを新しいAndroid Native Development Kit(JNI)に移動します。SIGSEGVが発生した場合(おそらくSIGILL、SIGABRT、SIGFPEも)、代わりに、素敵なクラッシュレポートダイアログを表示したいのですが。 (または以前に)現在発生していること:プロセスの即時の異常な終了と、OSによるプロセスの再起動の試み。(編集: JVM / Dalvik VMはシグナルをキャッチし、スタックトレースやその他の有用な情報をログに記録します。その情報をメールで送信するオプションをユーザーに提供したいだけです。) 状況は次のとおりです。私が記述していない大量のCコードが、このアプリケーション(すべてのゲームロジック)でほとんどの作業を行います。他の多くのプラットフォームで十分にテストされていますが、Androidで移植すると、ガベージをフィードし、ネイティブコードでクラッシュを引き起こすので、現在Androidログに表示されるクラッシュダンプ(ネイティブとJavaの両方)が必要です(Android以外の状況ではstderrになると思います)。私は自由にCとJavaの両方のコードを変更できますが、コールバック(JNIに出入りするコールバックの両方)の数は約40で、明らかに小さな差分にはボーナスポイントがあります。 J2SEのシグナルチェーンライブラリであるlibjsig.soを聞いたことがあります。Androidにそのようなシグナルハンドラーを安全にインストールできれば、私の疑問の一部を解決できますが、Android / Dalvikにはそのようなライブラリはありません。

7
Pythonセグメンテーション違反の原因は何ですか?
KosarajuのStrongConnected Component(SCC)グラフ検索アルゴリズムをPythonで実装しています。 プログラムは小さなデータセットでうまく動作しますが、超大型のグラフ(800,000ノード以上)で実行すると、「セグメンテーション違反」と表示されます。 その原因は何でしょうか?ありがとうございました! 追加情報:最初に、超大規模データセットで実行するとこのエラーが発生しました: "RuntimeError: maximum recursion depth exceeded in cmp" 次に、を使用して再帰制限をリセットします sys.setrecursionlimit(50000) しかし、「セグメンテーション違反」が発生しました 無限ループではなく、比較的小さなデータで正しく実行されると信じてください。プログラムがリソースを使い果たした可能性はありますか?

5
Linuxでセグメンテーション違反をキャッチする方法は?
サードパーティのライブラリクリーンアップ操作でセグメンテーション違反をキャッチする必要があります。これは、プログラムが終了する直前に発生することがあり、この本当の理由を修正することはできません。Windowsプログラミングでは、これは__try --__ catchで実行できます。同じことを行うためのクロスプラットフォームまたはプラットフォーム固有の方法はありますか?Linux、gccでこれが必要です。

1
gcc-10.0.1固有のSegfault
私はかなり長い間比較的安定していて、さまざまなプラットフォームとコンパイラ(windows / osx / debian / fedora gcc / clang)に対して頻繁にテストされているCコンパイル済みコードを含むRパッケージを持っています。 最近、パッケージを再度テストするために新しいプラットフォームが追加されました: Logs from checks with gcc trunk aka 10.0.1 compiled from source on Fedora 30. (For some archived packages, 10.0.0.) x86_64 Fedora 30 Linux FFLAGS="-g -O2 -mtune=native -Wall -fallow-argument-mismatch" CFLAGS="-g -O2 -Wall -pedantic -mtune=native -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection" …

7
Xcode 11.4-アーカイブプロジェクト-セグメンテーション違反11
Xcodeを11.4に更新したところ、プロジェクトをアーカイブすると「セグメンテーション違反11」が表示されました。 このプロジェクトはXcode 11.3.1でアーカイブしますが、現在はアーカイブしません。 他の誰かが同じ問題に遭遇しましたか? 編集:2020年4月15日 AppleはXcode 11.4.1をリリースしました

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.