gdbプログラムは常にコード01で終了します。

gdbプログラムは常にコード01で終了します。

私は科学的なLinuxを使用しています。複数のcppファイルを使用するプロジェクトをコンパイルしようとしています。これで正常にコンパイルされましたが、私が得た値/データは間違いなく間違っています。

そのディレクトリ内のuser/project/Buildすべてのcppファイルをコンパイルしてリンクするためにmakeと入力しました。それから行ってタイプuser/run/しなければなりません。./run.sh values.txt

ディレクトリに移動/user/project/Build/binしてgdb projectブレークポイントを入力して設定しても問題ありません。ところが走ってみると、いつも見えますProgram exited with code 01。 main.cppまたは他のソースファイルにブレークポイントを設定するかどうかは重要ではありません。 gdbはブレークポイントで停止する必要はありませんか?

答え1

このトリックが使えると思います。

終了時にブレークポイントを設定します。

データベース..

B出口

ランニング..

ビーティ

これにより、メインがシャットダウン機能を呼び出す場所を知ることができます。

答え2

user/run/run.shおそらく(名前が与えられたら)プログラムを実行するために必要なものを設定するシェルスクリプトです。可能なのは、環境変数を設定し、コマンドライン引数を渡すことです。 GDBで環境変数とコマンドライン引数を設定するには、次のようにします。

set args = arg1 arg2
set env VAR1 = value1
set env VAR2 = value2

実際に何をしているのかを理解するには、シェルスクリプトを読んでください。

関連情報