0

posix スレッド、ソケット プログラミング (udp クライアント、サーバー) を含む C プログラムをデバッグする必要があります。ubuntu 12.04 を使用し、IDE/SDK として Qt Creator 2.4.1 および Netbeans IDE 7.1.2 を使用しています。彼らがデバッグにgdbを使用していることは知っています。

プログラムのデバッグを開始すると、プログラムは 5 分ほど後に実行を停止し、Qt Creator も Netbeans もエラーや警告を出力しませんが、デバッグ機能を使用し、プログラムは UDP ポートをリッスンすると想定しています。

コードのすべての行に printf を使用すると、プログラムが想定どおりに動作し、UDP ポートをリッスンして待機することがわかります。理由もなく停止する理由がわかりません。また、使用している IDE ではデバッグ エラー、警告が表示されないため、理由は考えられません。

実行時にすべてまたは一部の変数とスレッドを監視するデバッグ プログラムを誰かに提案してもらえないだろうか。ありがとうございました。

4

3 に答える 3

4

An old, but reliable tool is ddd, which is basically the gdb GUI wrapper. Although, I usually do debugging directly with Emacs, ddd is the tool that you'll be able to run on almost all *nix platforms.

于 2012-06-10T13:03:03.210 に答える
3

gdbあまり快適ではありませんが、いつでも利用できます。

さまざまなタイプのランタイム分析、特にメモリアクセスのチェックを行うにはValgrind(ドキュメントについてはこちらを参照) が最適なツールになる場合があります。

更新: *IX システムについて言及しています。Windows環境gbdでも動作します。cygwinネイティブには、無料で IDE とデバッガーを含む VC Express があります。

于 2012-06-10T12:56:31.373 に答える
2

あなたの種類のアプリケーションにどのデバッガが使用されているのかよくわかりません。Linux で私が知っている唯一のデバッガーは gdb です。それとprintfステートメントだけで十分です。

gdb は単純ですが、@alk が言ったように「快適すぎる」わけではありませんが、どこにでもあるようです。

Eclipse もありますが、これも非常に優れた開発およびデバッグ プラットフォームです。

于 2012-06-10T13:06:31.213 に答える