2010-11-19 7 views
0

自分のアプリケーション用にデバッグコンソールをいくつか作りたいと思います。それはいくつかのデータを出力し、入力コマンドを取るべきです。これどうやってするの?最善の方法は、コンソール情報を更新することです。描画情報とデータの後に入力を求めるプロンプトが表示されます。 私はLinuxで開発しています。たとえば、gdbは、コンソールからの入力が可能です。入力コマンドのコンソール

+0

コンソールアプリケーション以外のアプリケーションに一種のコマンドプロンプトコンソールを追加したいのですが、それは間違いありませんか? –

+0

@ john-diblingはい – Ockonal

+0

上記のJohnのコメントを追加すると、どのようにUIが配置されていますか?アプリケーションは一般的に何をしていますか?そして、コンソールが遠隔になることは容認できますか? –

答えて

5

ソケットプログラミング(または実際には他の種類のIPCメカニズム)に精通している場合は、アプリケーション内でリスナーを有効にし、すべての「コンソール」用の外部アプリケーションを開発することができます。あなたは、メインアプリケーションと通信している間。

あなたは、単一のボタンと、単一のテキストラベルを持っており、あなたは押すたびに、ボタンというアプリケーションがあるとしましょう - あなたは

など1 2から3に、テキストラベルが1上がるとそのアプリケーションにソケットリスナを構築できます。

  1. はに関するアップデートを送る
  2. 「カウンタをリセット」コマンドを受信
  3. 「シャットダウン」コマンドを受信:ソケットリスナーは新しい着信接続を受け入れると、次のことができ、接続スレッドを開始したいですすべての上の現在のカウントは、クリック
  4. など

その後、あなたは別の、それは利用者から取得するコンソール入力に基づいて、メインアプリケーションに接続し、それにメッセージを送信する外部アプリケーションを構築。また、受信した更新をリッスンしてユーザーに表示します。デバッグアプリケーションはバグがあるどんなに

  1. 、それはリリースバージョンを傷つけることはできません:あなたの主なアプリケーションは次のような理由が利点の一部であることを、非常に便利ですデバッグ制御するための外部アプリケーションを使用して

    主なアプリケーションの

  2. メインアプリケーションに重複しているコンソール管理を扱うすべてのコードは、メインアプリの外に置くことができます。
  3. 2つのプロジェクトを作成すると、両者のプロトコルを認識している限り、他の人と作業を簡単にコラボレーションすることができます。
  4. 私が提案したことを実装することは、メインアプリケーションにアクセスできない場合(たとえば、顧客サイトにある場合など)に、アプリケーションをリモートでデバッグできることを意味します。
+0

実装するのが難しいですが、スケールがよく、責任感が分かります。 –

+0

私はサーバーサイドの人間です:-)しかし、私の解決策の一つの欠点はこの場合の実装の複雑さです。 –

関連する問題