Programlamayı öğretmeye yardımcı olacak en iyi Linux C / C ++ hata ayıklayıcı (veya gdb için ön uç) hangisidir? [kapalı]


106

Acemilere bir tür "lite" C ++ programlama kursu öğretiyorum ("lite" işaretçi, sınıf yok, sadece eski C, artı referanslar ve STL dizesi ve vektörler anlamına gelir). Öğrencilerin önceden programlama konusunda deneyimleri yoktur, bu yüzden etkileşimli bir hata ayıklayıcı kullanmanın program akışını, değişkenleri ve özyinelemeyi anlamalarına yardımcı olacağına inanıyorum.

Kurs Linux'ta verilmektedir. Onlara gdb'yi kullanmayı öğretmek aşırıdır (çoğu özelliği kullanmayacaklar ve anlamayacaklar). Sadece basit ama kullanımı kolay bir şeye ihtiyacım var: programın şu anda hangi satırda olduğunu, yığında ne olduğunu görmek (yerel değişkenler, önceki çağrılar, vb.). Eski Turbo Pascal'a veya Turbo C ++ Borland'ın hata ayıklayıcısına veya Visual Studio hata ayıklayıcısına benzer bir şeye benziyorum.

Teşekkür ederim,


4
Dersler olmadan C ++ öğretmenin mantığını anlayamıyorum. Ama çabanın farkındayım ... Öğretmenin demek istediğim :-)
m-ric

1
C / C ++ bana tamamen yeni başlayanlar için iyi bir seçenek gibi gelmiyor ...
Jaime Hablutzel

Yanıtlar:


36

ddd gdb için oldukça hoş bir grafiksel ön uçtur. Olumsuz taraflardan biri klasik bir X arayüzü, ancak oldukça sezgisel olduğunu hatırlıyorum.


2
DDD gerçekten harika bir arayüz. C ++ öğretirdim. Öğrencilerim gdb'yi nasıl kullanacaklarını asla anlayamadılar, ancak onlara hızlı bir ddd turu gösterdikten sonra (sadece temel bilgiler ve -g ile derlemelerini söylediler), kodlarında hata ayıklama ve ne olduğunu anlamada çok daha yetkin hale geldiler. Kullanıcı arayüzü "eski ve modası geçmiş" görünebilir, ancak neden işe yaradığı açıkça belli olanı düzeltsin?
wasatz

43
ddd şimdiye kadar gördüğüm en çirkin kullanıcı arayüzlerinden birine sahip imgur.com/UFTBjnW
ubershmekel 13

3
Ddd'yi C için çok kullanmama rağmen, vektörler ve genel olarak std :: şeyler için oldukça zayıf desteği var. Bir kesme noktası oluşturmak için düzenli olarak bir şeyin karıştırılmış adını vermem gerekiyor. İlk C ++ adımlarını yapan öğrencilere bunu tavsiye etmem.
PypeBros

1
DDD, veri yapılarını incelemek için harikadır çünkü onları büyük bir masanın üzerine yerleştirebilir ve birbirlerini nasıl gösterdiklerini ve benzeri şeyleri görebilirsiniz. Ancak, yalnızca C-stili (STL yok, her yerde işaretçiler) veriler için yararlı olduğu doğrudur.
Roman Plášil

1
O şey 17 yaşında gibi.
Rolf

25

Gdb için Red Hat tarafından yazılmış bir grafik ön uç Insight'ı kullanmayı deneyebilirsiniz Veya GNOME masaüstü ortamını kullanıyorsanız, Nemiver'ı da deneyebilirsiniz .


4
Insight çok harika ama Debian'dan kaldırıldı ve onu Linux'uma yükleyemiyorum .. Kimin sorumlu olduğunu bilmiyorum ama ölümlü düşmanlar listeme girdi ve onunla karşılaşırsam gazabımla yüzleşecek! Her kimse; hala çalıştırmanın bir yolu var ama kullanıcı arayüzü biraz berbat durumda: baptiste-wicht.com/2012/01/…
MasterMastic

@SamuelLampa apt-get install nemiver
Narek Babajanyan

@MasterMastic, kimse korumadığı için kaldırıldı, sanırım. Endişelenme, devralabilirsin!
andrewsh

16

Eclipse CDT'ye göz atmak isteyebilirsiniz. Birden çok platformda (ör. Windows, Linux, Mac OS X, vb.) Çalışan bir C / C ++ IDE sağlar. Eclipse CDT ile hata ayıklama, Visual Studio gibi diğer araçları kullanmakla karşılaştırılabilir.

Ayrıca bir dizi ekran görüntüsü içeren Eclipse CDT Hata Ayıklama öğreticisine göz atabilirsiniz .


14
Dostum, öğrencilerin Eclipse'i öğrenmesi haftalar alacak.
MrFox

14
-1, Eclipse
Celeritas

7
-1 puan almayacağım ama IDE berbat.
ovrwngtvity

2
Ve siz bu kadar çok şikayet ettiğinize göre, ne tavsiye edersiniz? code :: 3 yıldır güncellenmeyen bloklar?
JohnJohn

3
Eclipse Java için harika, ancak C / C ++ için oldukça kötü ...

14

Qt Creator , diğer güzellikler dışında, desteklenen tüm platformlarda CDB, GDB ve Symnbian hata ayıklayıcı için iyi bir hata ayıklayıcı entegrasyonuna sahiptir. Qt Creator IDE'yi kullanmak için Qt kullanmanız veya QMake kullanmanız gerekmez - QMake'in kullanımı çok kolay olmasına rağmen, CMake entegrasyonuna da sahiptir.

Qt Creator'ı programlamayı öğretmek için IDE olarak kullanmak isteyebilirsiniz, bazı iyi özelliklere sahip olduğunu düşünün:

  • Çok akıllı ve gelişmiş C ++ düzenleyici
  • Yönetim araçları tasarlama ve oluşturma
  • QMake ve CMake entegrasyonu
  • Entegre, bağlama duyarlı yardım sistemi
  • Mükemmel görsel hata ayıklayıcı (CDB, GDB ve Symbian)
  • GCC ve VC ++ 'yı destekler
  • Hızlı kod gezinme araçları
  • Windows, Linux ve Mac OS X'i destekler

Proje dosyaları olmayan küçük programlarda hata ayıklamayı destekliyor mu? Daha büyük programım için kullandığımı hatırlıyorum, ancak ilk kurulum oldukça zahmetliydi, ancak IDE çok iyi.
syockit

12

Belki gdb'ye dolaylıdır (çünkü bir IDE'dir), ancak önerilerim KDevelop olacaktır . Visual Studio'nun hata ayıklayıcısıyla (uzun yıllardır profesyonel olarak iş başında) oldukça şımarık olduğum için, şu ana kadar KDevelop'ta en rahat hata ayıklamayı hissettim (evde hobi olarak, çünkü kişisel kullanım için Visual Studio'yu karşılayamıyordum - Express Edition çıkana kadar ). Adım adım, adım adım vb. Hata ayıklama söz konusu olduğunda, denediğim diğer IDE'lere (Eclipse CDT dahil) kıyasla Visual Studio'ya "benzer bir şeye benziyor" (kırılma noktaları yerleştirmek biraz garip çünkü yapmıyorum '' t Kodlama sırasında fareyi çok fazla kullanmayı sevmez, ancak bu zor değildir).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.