私はコンピュータネットワーキングクラスに属しており、クライアントからのメッセージを送受信するシンプルなサーバを作成しています。しかし、私のサーバーは、指定されたクライアントが接続するときにセグメンテーションフォールトを取得しています。これをデバッグするためにGDBを実行するには?私はgdbでサーバーを実行しようとしましたが、サーバーに無限のwhileループがあり、segfaultをトリガーするために同時にクライアントを実行する方法がわからないため、ハングするだけです。誰も助けることができますか?GDBヘルプクライアント - サーバ
0
A
答えて
0
サーバースポーンそれぞれ接続されたクライアントのために(フォーク())別のプロセスが、あなたはおそらくフォークモードに従う設定する必要がある場合:http://www.delorie.com/gnu/docs/gdb/gdb_26.html 直後受け入れる作成されたプロセスのデバッグを開始します「に設定児童・フォーク・モードに従います」 ()とfork()です。
もう1つのオプションは、コアファイルを分析することです。あなたがそれらを有効にする必要がありますので、コアダンプはほとんどが、デフォルトでは無効になっています
ulimit -c unlimited
は、それがセグメンテーションフォールトせて、コアと、あなたのバイナリにそれを指してGDBを起動し、サーバーを実行します。
gdb -c ./core.xxxx ./server
1
Iドンsegfaultをトリガーするために同時にクライアントを実行する方法を知っていません。
シンプル:別のウィンドウを開き、クライアントをからに実行します。
関連する問題
- 1. GDB
- 2. は、GDB
- 3. GDBによるリモートデバッグエラー
- 4. <a href="http://developer.apple.com/library/mac/#documentation/DeveloperTools/gdb/gdb/gdb_11.html" rel="nofollow">documentation for gdb</a>でGDB
- 5. about .dSYM and GDB
- 6. gdb search regex up
- 7. Eclipse CDT/GDB - オープンコアダンプ?
- 8. Mac GDBクライアントスタンドアロンアプリケーション
- 9. gdbデバッグクラッシュロギングのヘルプ
- 10. GDBとEclipse CDT
- 11. GDB inferior quit
- 12. GDB番号
- 13. GDBバックトレース(子プロセス)
- 14. Eclipse GDBハードウェアデバッグプラグイン
- 15. C++ GDB Pythonプリティプリントチュートリアル?
- 16. プリントここGDB
- 17. マルチスレッド化とGDB
- 18. gdbでqemuをデバッグ
- 19. リモートデバッグemacs 24とgdb
- 20. emacs gdbカーソルにジャンプ
- 21. C/C++ Linux GDB API
- 22. GDBロギングファイルの場所
- 23. 不明なGDBエラー
- 24. emacsとgdb-many-windows
- 25. Eclipse CDT - gdb watch expression
- 26. GDBとCのマルチスレッドデバッグチュートリアル
- 27. GDBでIPhoneをデバッグ
- 28. はここでGDB
- 29. gdbパイプリダイレクトエラー:(gdb)fdでハングアップが検出された0
- 30. サーバA、サーバB
gnuのコンパイラもgccまたはg ++を使用していると仮定していますが、コンパイラフラグ-gを試しましたか? – pyCthon