問題タブ [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.
c - セグメンテーション違反はどの時点で発生しますか?
次のコードは、array[10] = 22 または array[9999] = 22 でセゴートしますか?
セグメント障害が発生する前にコード全体が実行されるかどうかを把握しようとしています。(C 言語で)。
c - segfaultでいくつかのインデックスが欠落しているforループ
アプリケーションの出力(下)は次のとおりです。
要素インデックス番号:0要素コンテンツ:22
要素インデックス番号:1要素コンテンツ:22
要素インデックス番号:2要素コンテンツ:22
要素インデックス番号:3要素コンテンツ:22
要素インデックス番号:4要素コンテンツ:22
要素インデックス番号:22要素の内容:134513712
5〜21のラベルが付いたインデックス要素が欠落しているのはなぜですか?配列の境界がオーバーフローしたためにこのコードがセグメンテーション違反になる可能性があることを理解しています。そのように設計されています。このコードがなぜ悪いのか、特定のインデックスがスキップされる理由には興味がありません。
c++ - pthread_mutex_lockのセグメンテーション違反
やろうとするとセグメンテーション違反が発生します
これは本当に奇妙なことです。何が原因なのかわかりません。コンストラクターで_mutexを初期化しました
私にできることは何ですか?
c - 文字列を変更するこのコードが機能しないのはなぜですか?
cスタイルの文字列では、文字ポインタが指すメモリアドレスにcharをどのように割り当てますか?たとえば、次の例では、numを「123456」に変更したいので、pを「0」のある数字に設定して「4」で上書きしようとしました。ありがとう。
c - セグメンテーション違反 - 文字ポインタ
以下のコードの行:
セグメンテーション違反を与えます。ここで同様の質問をしましたが、num のコピーが 2 つあるためかどうかはわかりません。seg-faulting の理由を説明してください。ありがとうございました。
c++ - Xerces-Cの問題; オブジェクトデストラクタの呼び出しでのsegfault
私はXerces-CXMLライブラリをいじっています。
私が遊んでいるこの簡単な例があります。
メモリリークやセグフォールトなしで実行することはできないようです。それはどちらかです。
「クリーンアップ」でパーサーオブジェクトを削除すると、常にセグメンテーション違反が発生します。
ライブラリの2.8バージョンと2.7バージョンの両方を使用してみました。
注:コードからすべての例外チェックアウトを取りましたが、コードを使用しても使用しなくても同じ結果が得られます。読みやすく簡単にするために、以下のコードから削除しました。
Xercesに精通した人が何か提案をしたいと思っていますか?
バックトレースからはあまりわかりません。スーパークラスのデストラクタに飛び込んで、そこでセグフォールトしているだけです。
バックトレース:
コード:
c++ - string::string コンストラクターの奇妙な「バス エラー」
奇妙なエラーがポップアップし始めたとき、マルチマップオブジェクトの塗りつぶしを担当するコードの一部をテストしていました。
FreeBSD 5.4 では root 以外のユーザーでは正常に動作しますが、root で実行すると「バス エラー」でクラッシュします。
xcode - Xcode の「インデックスが壊れています。再構築されます」というメッセージに続いて、ルートで実行すると「セグメンテーション違反」が発生します
次のメッセージの原因を、おそらくそれを修正する方法についての提案とともに、誰か説明してもらえますか?
sudo <path to xcode
rootとして実行する必要があるデーモンをデバッグする必要があるため、root で XCodeを実行しています。
これを数回成功させましたが、Xcode でプロジェクトを開こうとすると、XCode から次のメッセージが表示されます。
他のプロジェクトは正常に開き、このプロジェクトは Xcode の非ルート インスタンスで正常に開きます。
コンピューターを再起動し、プロジェクト内からルートの pbxuser ファイルなどをすべて削除しようとしました。
また、自分のユーザーで実行されている Xcode でインデックスを再構築しようとすると、次のアサーション エラーが発生します。続行を押すと、Xcode がクラッシュします。
c - C プログラミング: seg faults、printf、および関連する癖
多くの若いプログラマーと同じように、コードのさまざまなポイントに「here1」、「here2」などの多数の print-to-console ステートメントを挿入して、プログラムがいつうまくいかないかを把握することの有用性を学びました。このブルート フォース デバッグ手法は、CS の研究を通じて何度も私を救ってくれました。しかし、C でプログラミングを始めたとき、興味深い問題に出くわしました。走ってみたら
もちろん、testCharのメモリをmallocしていないため、セグメンテーション違反が発生します。ただし、それがコードの流れであるため、セグフォルトが発生する前に「hello world」が出力されると論理的に考えるでしょうが、私の経験では、セグフォルトが最初に発生し、「hello world」が常に発生する場合があります。 " がコンソールに出力されることはありません。(この正確な例をテストすることはできませんでしたが、Linuxボックスでgccを使用してこの種の状況に何度も遭遇しました。)これは、コンパイラがいくつかのものを再配置したり、printfを実行したりすることに関係していると推測しています非同期的にフラッシュされるため、即時ではないある種のバッファを使用します。正直なところ、なぜそうなるのかはわからないので、これは完全に私の推測です。私が使用した他の言語では、「testChar = ...
私の質問は、C をプログラミングしているときになぜこれが起こるのですか? hello world が最初に出力されないのはなぜですか? 次に、同じ基本的なことを達成するこれよりも優れた C プログラミングのデバッグ手法はありますか? のように、問題のあるコード行を見つけるための簡単で直感的な方法は?
編集:私は偶然に実際の例を挙げました。私が今持っているものは、セグメンテーション違反を引き起こすはずです。おもしろいことに、セグメンテーション違反が必要ないときは通常、セグメンテーション違反を取得しますが、実際にセグメンテーション違反が必要な場合は、正当なコードを記述します!
recursion - 0 を返した後の segfault;
バイナリ ツリーをテストするプログラムを作成しましたが、実行するとプログラムがクラッシュするようです (btree.exe が動作を停止し、Windows が解決策を確認しています ...)。
デバッガーで実行し、原因と思われる関数 destroy_tree() にブレークポイントを設定すると、期待どおりに実行され、メイン関数に戻りました。Main はプログラムから戻りましたが、カーソルは destroy_tree() に戻り、再帰的にループしました。
最小限のコード サンプルを以下に示しますので、すぐに実行できます。私のコンパイラは MinGW で、デバッガは gdb です (Code::Blocks を使用しています)。
余談ですが、これらの問題をデバッグするために、Code::Blocks 組み込みデバッガーから DDD に切り替える予定です。DDD は、ポインターのアドレスを表示するだけでなく、オブジェクトへのポインターを視覚的に表示できると聞きました。このような問題 (データ構造やアルゴリズムの問題) の解決に、切り替えが役立つと思いますか?