2

Ubuntu上のNetbeansでCで開発しているときに、開発のある時点で、(gdbを使用して)Netbeansデバッガでプログラムを起動できなくなりました。デバッグプロセスを開始すると、main関数の最初の行でさえ実行できませんでした。その最初の行のブレークポイントでさえ役に立ちません。ブレークポイントに到達する前にプロセスがクラッシュします。

ステータスバーに表示されるメッセージ:

信号SIGSEGVによって終了したプログラム

プログラムはデバッガーの外部でも問題なく実行され、gdbを使用して(Netbeansでラップせずに)プログラムを直接デバッグすることも問題なく機能します。

私はすでにこれを解決する方法を理解しました(以下を参照)が、とにかくこの質問を投稿しているので、他の人が同じ問題に遭遇したときに解決策を見つけることができます。

4

1 に答える 1

3

私が設定した「時計」が犯人であることが判明しました。それらをすべて削除すると、デバッグは正常に進行しました。

どの時計が問題を引き起こしたのかわかりません。少なくとも1つは、間違った時間に呼び出されたときにセグメンテーション違反になる可能性が高い関数呼び出しでした。それが私が最も疑うものです。

条件付きブレークポイントの不幸な条件が同様の動作を引き起こす可能性があると思います。

お役に立てれば!

于 2012-11-08T18:52:37.250 に答える