私は現在、OS XからLinux(コンソールツール)に移植しているコードをいくつか持っています。セグメンテーションフォールト後にGDBが返されない
このコードのどこかで、セグメント違反が発生します。問題は、GDBなしでプログラムを実行すると、セグメンテーション違反がはっきりと分かり、プログラムが強制終了されるということです。しかし、私がGDBを実行しているときには、GDBは停止し、GDBはプロンプトに戻りません。だから私は実際に何が起こっているのか調べることはできません。
C++がコードです。 g ++で-gオプションを付けてコンパイルします。
Btw。 GDBには新しく、これは明らかです。
アイデア? ありがとうございます。
ワンセグ障害信号を受信したときTrenskow
Ctrlキーを押しながらCキーを押して「ハングする」とはどうなりますか?それはGDBに制御を戻すはずです。 –
申し訳ありませんが、これはばかげた提案のようですが、実際にgdbを終了しましたか(通常は 'quit')?セグメンテーションフォルトが実際に発生したときにスタックの状態を調べて、何が原因かを突き止めることができるように、これは停止します。 – Dawson
あなたはvalgrindの下でプログラムを実行しようとするかもしれません - gdbがそれらに気づく前にエラーを拾うことがよくあります(通常よりも10倍遅いプログラムで実行します) –