Unixのシステム(「一時停止」)?

Unixのシステム(「一時停止」)?

私は通常このようなデバッガを使用しているので、幸いにもcgdbこれまで呼び出しデバッグに頼る必要はありませんでした。system

ロードするのに約30分かかるバイナリがありますがgdb、それ以降はシンボル数が多すぎてデバッガが頻繁にクラッシュします。これにより、一般的なワークフロー(ロードgdb、ブレークポイントの追加、問題変数の識別など)が不可能になりました。

Windowsでは、この時点で私のコードに多くのcoutand system("pause")(貧しい人々のブレークポイント)ステートメントを追加し始めます。しかし、Unixのような環境ではこれをどのように実行しますか?

答え1

cin貧しい人の情報を読んでみたいかもしれません。コーヒーを飲みながら続けるのではなく、入力をpause 待ちます。Entersleep()

答え2

私は時々このような方法を書いています。

#define BRK()  do { printf("%s %d\n", __FILE__, __LINE__); getchar(); } while (0)
...
BRK();  // Stop and wait for enter

また、関数の計測が役に立ちます。 GCCでは、各関数の開始/終了をリンクできます。https://stackoverflow.com/questions/2281739/automatically-adding-enter-exit-function-logs-to-a-project

答え3

cout/にも同じことが当てはまります。 - ビューをcerr使用したり、より多くの情報を得ることができます。sleep()man 3 sleepman 3 usleep

関連情報