2010-11-19 52 views
0

Uygulamam için bazı hata ayıklama konsolu oluşturmak istiyorum. Bazı veriler vermeli ve giriş komutları almalıdır. Bunu nasıl yapabilirim? En iyi yol, konsol güncellemesi gibidir: çizim bilgisi ve verilerden sonra giriş istemi. Linux altında geliştiriyorum. Örneğin, gdb konsoldan girdi alabilir.Giriş komutları için konsol

+0

Konsol dışı uygulamanıza bir çeşit komut istemi konsolu eklemek istiyorsunuz, doğru mu? –

+0

@ john-dibling yes – Ockonal

+0

Ve John'un yorumuna ek olarak, UI nasıl düzenlenir? uygulama genel olarak ne yapar? Ve konsolun uzak olacağı kabul edilebilir (belki tercih edilebilir mi?) –

cevap

5

Soket programlamaya (veya aslında başka herhangi bir IPC mekanizmasına) aşina iseniz, uygulamanızda bazı dinleyicileri etkinleştirmek ve tüm "konsol" öğelerini yapacak bir harici uygulama geliştirmek isteyebilirsiniz. Siz ana uygulama ile iletişim kurarken.

Diyelim ki düğmenin bastın tek düğme ve tek bir metin etiketi ve her zaman olan bir uygulama var varsayalım - 1 ila 1, metin etiketi artar 2 vs.

You 3'e Bu uygulamaya bir soket dinleyici inşa edebilirsiniz. ilgili bir güncelleme gönder

  1. bir "reset sayacı" al bir "kapatma" komutunu alma komutu
  2. : soket dinleyici yeni gelen bağlantıyı kabul ettiğinde, sen bir bağlantı iplik başlamak istiyorum her geçerli saymak tıklayın
  3. vb

Sonra da böyle, kullanıcıdan alır konsol girişe göre, ana uygulamaya bağlanır ve buna mesajları gönderir harici uygulama, inşa. Gelen güncellemeleri de dinler ve kullanıcıya gösterir.

  1. olursa olsun ayıklama uygulaması arabası, nasıl, sürümünü zarar veremezler: ana uygulama hata ayıklama-kontrol etmek için harici bir uygulama kullanarak

    aşağıdaki nedenler bazı avantajları olmak üzere son derece yararlıdır ana uygulamanızın.

  2. Ana uygulamanızın gereksiz olan konsol yönetimiyle ilgili tüm kodlar ana uygulamanın dışında tutulabilir.
  3. İki proje yapmak, iki taraf arasındaki protokolden haberdar olmanız koşuluyla çalışmanızı bir başkası ile daha kolay bir şekilde ortaklaşa gerçekleştirmenizi sağlayabilir.
  4. Önerdiğim uygulamanın uygulanması, ana uygulamaya erişememeniz durumunda (örneğin, bir müşteri sitesinde bulunuyorsa), uygulamanızı uzaktan uzaktan ayıklayabileceğiniz anlamına gelir.
+0

+1 uygulamak zor, ama iyi ölçeklendirir ve sorumluluk güzel bir ayrımı sağlar –

+0

Ben sunucu tarafında bir kişi değilim :-) Ama evet, çözümümün bir dezavantajı bu durumda uygulama karmaşıklığıdır. –