it-swarm-tr.com

Linux için bir C ++ gdb GUI var mı?

Kısaca: gdb için bir GUI'yi bilen var mı? Visual C++ 'ın en son sürümünde elde ettiğiniz özellik kümesine yakın ya da yakın olan bir şey var mı?

Ayrıntılı olarak: Windows'ta programlama yapmak için çok zaman harcayan biri olarak, Linux'ta C++ kodlamak zorunda olduğumda bulduğum en büyük engellerden biri, gdb komut satırını kullanarak bir hata ayıklamanın beni birkaç kez daha uzun sürdüğüdür. Visual Studio ve uygulama ile daha iyi görünmüyor. Bazı şeyler grafik olarak ifade etmek için daha kolay veya daha hızlı.

Özellikle, bu bir GUI arıyorum:

  • Kod içinde ve kodda basmak, değişkenleri ve kesme noktalarını izlemek gibi tüm temel özellikleri kullanır
  • Karmaşık ve iç içe C++ veri türlerinin içeriğini anlar ve görüntüleyebilir
  • Kafası karışmaz ve tercihen, parametre türleri gibi ilgili bilgileri görüntülerken şablonlanmış kod ve veri yapılarını akıllıca adımlayabilir
  • Dişli uygulamaları ele alabilir ve adım adım veya durumunu görüntülemek için farklı dişler arasında geçiş yapabilir
  • Programın gdb'de başlatılmasının yanı sıra, önceden başlatılmış bir işleme eklenmesi veya çekirdek bir dökümü okuması

Eğer böyle bir program mevcut değilse, o zaman insanların en azından kurşun noktalarından bazılarını karşılayan programlarla yaşadıkları deneyimler hakkında bir şeyler duymak isterim. Bir önerisi olan var mı?

Düzenleme:
Olanakları listelemek harika bir şey ve alabildiğim her şeyi alacağım, ancak cevaplarınıza katılabilirseniz daha da yardımcı olur:
(a) Bu GUI'yi gerçekten kullanıp kullanmadığınız ve olmasa da, bu konuda ne kadar olumlu/olumsuz geri bildirim aldığınızı öğrenin.
(b) Yukarıda belirtilen özelliklerden hangisinin desteklendiğini/desteklenmediğini biliyorsanız,

Listelere ulaşmak kolaydır, bunun gibi siteler harikadır çünkü insanların uygulamalarla ilgili kişisel deneyimleri hakkında fikir edinebilirsiniz.

204
HappyDude

Bulamazsınız herhangi bir şey Visual Studio hata ayıklayıcısının ham gücüyle rekabet edebilecek GDB'yi kaplıyorsunuz. Sadece çok güçlü ve IDE'ye çok iyi entegre olmuş.

Bir Linux alternatifi için, özgür yazılım sizin içinse DDD'yi deneyin.

55
Vicent Marti

Eclipse CDT, Visual Studio'yla karşılaştırılabilir bir deneyim sağlayacaktır. Eclipse CDT'yi günlük olarak kod yazmak ve yerel ve uzak işlemlerde hata ayıklamak için kullanıyorum.

Eclipse tabanlı bir IDE kullanmaya aşina değilseniz, GUI alışmak biraz zaman alır. Ancak, Eclipse'e özgü (örn. Perspektif) GUI fikirlerini anladıktan sonra, aracı kullanmak Güzel bir deneyim haline gelir.

CDT takımları, kod tabanınızdaki yöntemlere hızlı bir şekilde referans bulmanızı sağlayan iyi bir C/C++ dizinleyici sağlar. Aynı zamanda Nice makro genişleme aracı ve sınırlı yeniden düzenleme desteği sunar.

Hata ayıklamayı destekleme konusunda, CDT, bir çekirdek dökümü okumak dışında listenizdeki her şeyi yapabilir (bunu destekleyebilir, ancak bu özelliği kullanmayı hiç denemedim). Ayrıca, şablonları kullanarak hata ayıklama kodu deneyimim sınırlıdır, bu nedenle CDT'nin bu konuda ne tür bir deneyim sağlayacağından emin değilim.

Eclipse CDT kullanarak hata ayıklama hakkında daha fazla bilgi için bu kılavuzları incelemek isteyebilirsiniz:

84
Jon Ball

eğer bir şey GUI-ish, ama yine de karakter tabanlı istiyorsanız, gdb -tui iyi çalışıyor.

78
Carleton

Çıkış Nemiver C/C++ Debugger . Ubuntu'da (Geliştirici Araçları/Hata Ayıklama) kurulumu kolaydır.

Güncelleme: Yeni bağlantı.

47
Sergey Shandar

Windows geliştirme fikrinden nefret ediyorum, ancak VC++ hata ayıklayıcısı gördüğüm en iyiler arasında. VC one'a yaklaşan bir GUI ön ucu bulamadım.

GDB gerçekten alışınca harika. Yeterince öfkeyle kullanın ve çok uzman olursunuz. Artık fazla çaba harcamadan listelediğiniz şeyleri yapan bir program etrafında dolaşabilirim. Yeterli olmadan önce bir SSH bağlantısından uzak bir sunucuya acı çekmek bir ay sürdü. Yine de asla geri dönmem.

DDD gerçekten güçlü ama oldukça hastaydı. GDB'den hiç gelmediğini belirten mesajlar geldiğinde oldukça sık donduğunu gördüm. Bu bir gdb arayüz penceresi içerdiğinden iyidir, böylece neler olup bittiğini görebilir ve doğrudan gdb ile etkileşime girebilirsiniz. DDD ortamımdaki uzak X oturumunda kullanılamıyor (gerçek bir sorun, çünkü Unix dev yaparken ince bir müşteride oturuyorum çünkü) nedense bu benim için değil.

KDevelop tipik KDE stilini takip etti ve her şeyi kullanıcıya gösterdi. Ayrıca KDevelop'taki KDevelop olmayan programlarda hata ayıklama şansım hiç olmadı.

Gnat Programlama Stüdyosu (GPS) aslında GDB için oldukça iyi bir ön uç. Sadece Ada projelerini yönetmiyor, bu yüzden bir hata ayıklayıcısına ihtiyacınız varsa denemeye değer.

Eclipse'i kullanabilirsiniz, ancak oldukça ağırdır ve çalıştığım çok sayıda tecrübeli Unix çalışanı (ben dahil) arayüzü için pek fazla önemsemez, bu sadece STFU'yu kullanmaz ve yolunuzdan çekilmez. Eclipse ayrıca çok fazla yer kaplar ve bir köpek gibi koşar.

29
Adam Hawes

Qt Oluşturan iyi şeyler gibi görünüyor. Bir meslektaşım bana hata ayıklama için ayarlanmış bir yol gösterdi:

  • "Makefile Tabanlı Projenin İçe Aktarılması" adlı yeni bir proje oluşturun.
  • Kök proje klasörünüze yönlendirin (altındaki kaynakları indeksler ve etkileyici şekilde hızlıdır).
  • Proje ayarlarına gidin ve bir çalışma konfigürasyonu ekleyin, ardından hata ayıklamak istediğiniz yürütülebilir dosyayı ve bağımsız değişkenlerini belirtin.
  • Qt Creator projenizi hata ayıklamadan önce oluşturmakta ısrar ediyor gibi görünüyor. Bunu istemiyorsanız veya make kullanmıyorsanız, make komutunu geçersiz kılabilirsiniz. "True" olarak değiştirdim. :)

Zaten derlediğim bir uygulamanın hatalarını ayıklamak için biraz fazla iş gibi görünebilir, ancak buna değer. Hata ayıklayıcı, Visual Studio'ya benzer şekilde konuları, yığınları ve yerel değişkenleri gösterir ve hatta aynı klavye kısayollarının çoğunu kullanır. Şablonları iyi işliyor, en azından std :: string ve std :: map. Mevcut işlemlere ve çekirdek dökümlerine ekleme yapmak henüz desteklenmemiş olsa da destekleniyor gibi görünüyor.

Şimdi ve bir saatten daha az bir süre kullandığımı unutmayın, ancak çok etkilendim.

28
Soulman

Basit ve kullanışlı gdb kullanıyorum

26
cod

DDD'yi çok kullanıyorum ve kullanmayı öğrendikten sonra oldukça güçlü. Söyleyeceğim tek şey, X üzerinden onu WAN üzerinde kullanmamak, çünkü pek çok gereksiz ekran güncellemesi yapıyor gibi görünüyor.

Ayrıca, eğer GDB ile eşleştirilmezseniz ve biraz para kazanmayı unutmayın, o zaman TotalView'ı denerim. Biraz dik bir öğrenme eğrisine sahip (kesinlikle daha sezgisel olabilir), ancak herhangi bir platformda şimdiye kadar kullandığım en iyi C++ hata ayıklayıcısıdır ve nesnelerinizi özel yollarla incelemek için genişletilebilir (böylece bir görüntülemenizi sağlar. STL listesi gerçek bir nesne listesidir, kafa karıştırıcı iç veri üyeleri, vb.

16
Nick Bastin

Eclipse CDT projesini inceleyin. C/C++ gelişimine yönelik Eclipse için bir eklentidir ve oldukça zengin özelliklere sahip hata ayıklama perspektifini içerir (perde arkasında GDB kullanır). Çok çeşitli platformlarda mevcuttur.

8
user14636

Eclipse gdb frontend'ine benzer şekilde, emacs IDE'ye sıkıca bağlanmış emaclar ön uçtur. Zaten emacs ile çalışıyorsanız, beğeneceksiniz:

GDB Emacs Frontend

KDbg kullandım (yalnızca KDE altında çalışıyor).

6
codeguru

Qt Creator-on-Linux, bugünlerde C++ for Windows için Visual Studio ile kesinlikle aynı. Hata ayıklayıcı tarafında daha iyi bile diyebilirim.

5
Marv

Bu listede eksik olan ve çok verimli olan bir IDE var. (Çok sayıda C/C++ projesinde sorunsuzca kullandım): Netbeans .

5
Florent

DDD, gdb için GNU ön ucu: http://www.gnu.org/software/ddd/

5
mmattax

Gdb için birkaç farklı guis denedim ve DDD'yi daha iyi bulduk. Ve Linux için diğer, gdb dışı teklifler hakkında yorum yapamıyorum, ancak diğer platformlarda birçok hata ayıklayıcı kullandım.

gdb, dilek listenizdeki şeylerin çoğunu yapar. DDD onlara daha güzel bir cephe koyar. Örneğin iplik değiştirme işlemi daha basit hale getirildi. Kesme noktalarını ayarlamak beklediğiniz kadar basittir.

Ayrıca yapmak istediğiniz bir şeyi gizlemeniz ihtimaline karşı bir cli penceresi de alırsınız.

Kullandığım diğer hata ayıklayıcıların üzerinde öne çıkan DDD özelliklerinden biri de "grafik" verileri. Bu, yapıları, nesneleri ve belleği sürüklenebilir kutular olarak görüntülemenizi ve düzenlemenizi sağlar. Bir işaretçiye çift tıkladığınızda, referansı değiştirilen veriler ana öğeye geri görsel bağlantılarla açılır.

5
Andrew Edgecombe

Hiç DS-5 debugger 'a baktınız mı?

Çok sayıda yararlı özellik içeren ücretli bir sürümü vardır, ancak Topluluk Sürümü'nü ücretsiz olarak da kullanabilirsiniz (bu, özellikle gömülü sistemler için de oldukça yararlıdır).

Eclipse kullanarak gerçek aygıttaki Android uygulamalarında hata ayıklama yaparken bu araçla ilgili olumlu bir deneyimim var.

3
Viktor Malyi

Visual Studio'ya aşina olan biri olarak, değiştirmek için birkaç açık kaynaklı IDE'ye baktım ve KDevelop, Visual C++ bir kişinin oturup oturup kullanmaya başlayabileceği en yakın IMO haline geldi. Projeyi hata ayıklama modunda çalıştırdığınızda, gdb'yi kullanır ancak kdevelop gdb'yi bilmeniz gerekmeyecek şekilde her şeyi çok fazla ele alır; Sadece tek bir adım atıyor veya değişkenleri izliyorsunuz.

Hala ne yazık ki Visual Studio Debugger kadar iyi değil.

3
Dennis Ferron

Windows mu yoksa UNIX mi kullandığınızdan bahsetmiyorsunuz.

UNIX sistemlerinde, KDevelop iyidir ancak kullanıyorum KDbg çünkü kullanımı kolaydır ve KDevelop'ta geliştirilmeyen uygulamalarla da çalışacaktır.

Eclipse her iki platformda da iyidir.

Windows'ta Eclipse CDT ve MinGW olan Wascana Desktop Developer adında harika bir paket var ve hepsi minimum ağrı için güzelce paketlenmiş ve önceden yapılandırılmıştır. Windows'ta GNU kodunu geliştirmek için bulduğum en iyi şey.

Tüm bu hata ayıklayıcıları kullandım ve hiçbiri MS Dev Studio kadar iyi değil. Eclipse/Wascana muhtemelen en yakın olanıdır, ancak DLL'lere giremezsiniz ve değişkenleri incelemek kadar iyi bir iş çıkarmaz.

3
Adam Pierce

Adım adım atılabilecek şey, g ++ 'nın ürettiği hata ayıklama bilgileri ile büyük ölçüde sınırlı olacak. Emacs, gdb'ye araç çubukları/menüler üzerinden kontrol etmenizi ve verileri ayrı pencerelerde görüntülemenizi ve doğrudan gdb komutlarını doğrudan yazmanızı sağlayan bir arabirim sağlar. Eclipse'in CDT'si benzer araçlar sunar. Anjuta ve Code :: Blocks'u duydum ama onları hiç kullanmadım.

3
Allen

Code: Blocks C++ IDE, istediğiniz özelliklerden sadece birkaçı ile birlikte.

2
crobar

VisualGDB , linux ve gömülü platformlardaki uygulamaları geliştirmek ve hata ayıklamak için başka bir Visual Studio eklentisidir.

2
Sergey Zhukov

Gdb -w'yi cygwin gdb ile denediniz mi? Oldukça iyi çalışan bir windows arabirimine sahip olduğu varsayılmaktadır.

Bulduğum tek sorun şu anki makinemde ddd'yi kurarken bu şekilde çalışmadı. Ddd'yi kurduğumda kurulacak tcltk gerektirdiğinden şüpheleniyorum.

1
BubbaT

KDevelop oldukça iyi çalışıyor.

1
Harold Ekstrom

Visual Studio altında gdb arıyorsanız, kontrol WinGDB .

0
Dominic.wig

Geany'nin en son sürümü bunu destekliyor (yalnızca Linux'ta)

0
Milan Babuškov

Son 15 ayda içgörü kullanıyorum (FC6 ile geldi). Harika değil, Tcl/Tk dilinde yazılmıştır, fakat basit ve kullanışlıdır. DDD benzer kalitede/faydalıdır, ancak kullanımı biraz daha zordur (çeşitli GUI kazançları ve ihmaller). Ayrıca gdb'yi IDE SlickEdit'le entegre etmeye çalıştım. Tamam çalıştı (4 saat boyunca oynadım), ancak GUI bağlam anahtarlarından hoşlanmadım. Hata ayıklama yaparken değişmez kalmam için IDE; Windows'ta SlickEdit'i IDE için ve Visual Studio Debugger'ı hata ayıklamak için kullanıyorum. Yani 3: Insight, DDD ve SlickEdit'ten Insight ilk tercihim, zamanın% 95'ini kullanıyorum, komut satırı gdb ve DDD diğer% 5'i oluşturuyor. Eğer şansım olursa, Eclipse'i bir noktada değerlendirebilirim, çalışma bilgisayarım Eclipse'i oldukça iyi bir şekilde çalıştırmak için yeterli RAM (sadece 1 GB) gibi görünmüyor.

Ayrıca bir iş görüşmesi sırasında 1. el de dahil olmak üzere TotalView için çok övgü duydum. 2008 sonunda şirketimiz için bir değerlendirme aldım, ancak sonunda gdb ihtiyaçlarımız için yeterince iyi olduğu için devam etmedik; ve ücretsiz ve her yerde.

0
Radim Cernej

Çalışan bir programa adım atmak için bir hata ayıklayıcı arıyordum. De ki: Bağla. Program Eclipse ile inşa edildi, ancak belki çok okuyuculu engeller yüzünden düşkün kaynak dosyaları yok. Her neyse.

NetBeans ile çok rahatladım.

  • Menüden [debug] -> Deugger ekle ...
  • işlem hata ayıklamayı seçti
  • proje olarak [yeni proje]

Şimdi pencere düşüyor ve hiçbir şey görmüyorsunuz. işlemden ayırın. Oku Meydanı "Dur" yardımcı olur.

  • projeden ithal kaynağı örneğin; Klasör. " .../MyProject/src
  • Şimdi projenizde görünüyor ve sınır değerleri belirleyebilirsiniz.
  • tekrar hata ayıklayıcısını ttach
  • hata ayıklama işlemini seçti.
  • program bir sonraki kesme noktasına ulaşırsa hata ayıklayıcıyı durdurmalıdır.

[Pencere] -> [Hata ayıklama] -> 'ya gitmek Pencerenizin konforu artar mı?.

0
Cutton Eye

Www.zero-bugs.com/ Zero debugger kullanın, gcc'den C++ 0x desteği gerektirir

0
siddhusingh