Trình gỡ lỗi Linux C / C ++ nào tốt nhất (hoặc front-end cho gdb) để giúp dạy lập trình? [đóng cửa]


106

Tôi dạy một loại khóa học lập trình C ++ "lite" cho người mới học ("lite" nghĩa là không có con trỏ, không có lớp, chỉ là C cũ thuần túy, cộng với tham chiếu và chuỗi STL và vectơ). Sinh viên chưa có kinh nghiệm lập trình trước đây, vì vậy tôi tin rằng việc sử dụng trình gỡ lỗi tương tác sẽ giúp họ hiểu luồng chương trình, biến và đệ quy.

Khóa học được giảng dạy trên Linux. Dạy họ sử dụng gdb chỉ là quá mức cần thiết (họ sẽ không sử dụng cũng như không hiểu hầu hết các tính năng). Tôi chỉ cần một cái gì đó đơn giản nhưng dễ sử dụng: để xem chương trình hiện đang ở dòng nào, có gì trong ngăn xếp (biến cục bộ, lệnh gọi trước đó, v.v.). Tôi trông giống với trình gỡ lỗi cũ của Turbo Pascal hoặc Turbo C ++ Borland hoặc trình gỡ lỗi Visual Studio.

Cảm ơn bạn,


4
Tôi không hiểu được lý do của việc dạy C ++ mà không có lớp học. Nhưng tôi nhận ra nỗ lực ... Trong giảng dạy tôi bình :-)
m-ric

1
C / C ++ không có âm thanh với tôi như một lựa chọn tốt cho người mới bắt đầu tổng ...
Jaime Hablutzel

Câu trả lời:


36

ddd là một giao diện đồ họa cho gdb khá đẹp. Một trong những mặt bên dưới là giao diện X cổ điển, nhưng tôi nhớ lại rằng nó khá trực quan.


2
DDD thực sự là một giao diện người dùng tuyệt vời. Tôi đã từng dạy C ++. Các sinh viên của tôi không bao giờ có thể hiểu cách sử dụng gdb, nhưng sau khi cho họ xem một vòng nhanh về ddd (chỉ là những điều cơ bản và yêu cầu họ biên dịch với -g), họ nhanh chóng trở nên thành thạo hơn nhiều trong việc gỡ lỗi mã của họ và hiểu những gì đã xảy ra. Giao diện người dùng có thể trông "cũ và cũ", nhưng tại sao phải sửa những gì rõ ràng là hoạt động?
wasatz

43
ddd có một trong những UI xấu nhất mà tôi đã từng nhìn thấy imgur.com/UFTBjnW
ubershmekel

3
mặc dù tôi đã sử dụng ddd rất nhiều cho C, nó hỗ trợ khá kém cho các vectơ và std :: mọi thứ nói chung. Nó thường xuyên yêu cầu tôi cung cấp tên bị xáo trộn của một cái gì đó để thiết lập điểm ngắt. Tôi sẽ không giới thiệu nó cho sinh viên đang thực hiện các bước C ++ đầu tiên của họ.
PypeBros

1
DDD rất tốt để kiểm tra cấu trúc dữ liệu vì bạn có thể đặt chúng trên một chiếc bàn lớn và xem cách chúng trỏ đến nhau và mọi thứ. Nhưng đúng là nó chỉ hữu ích cho dữ liệu kiểu C (không có STL, con trỏ ở khắp mọi nơi).
Roman Plášil

1
Điều đó giống như năm 17 tuổi.
Rolf

25

Bạn có thể thử sử dụng Insight một giao diện người dùng đồ họa cho gdb được viết bởi Red Hat Hoặc nếu bạn sử dụng môi trường máy tính để bàn GNOME, bạn cũng có thể thử Nemiver .


4
Insight thật tuyệt vời nhưng nó đã bị xóa khỏi Debian và tôi không thể cài đặt nó trên Linux của mình .. Tôi không biết ai là người chịu trách nhiệm, nhưng anh ta đã lọt vào danh sách kẻ thù truyền kiếp của tôi và nếu tôi gặp phải anh ta, anh ta sẽ phải đối mặt với cơn thịnh nộ của tôi! Bất kỳ-ai; vẫn có cách để làm cho nó chạy nhưng giao diện người dùng có một chút trục trặc: baptiste-wicht.com/2012/01/…
MasterMastic

@SamuelLampa apt-get install nemiver
Narek Babajanyan

@MasterMastic, nó đã bị xóa vì không ai duy trì nó, tôi đoán vậy. Đừng lo lắng, bạn có thể tiếp nhận nó!
andrewsh

16

Bạn có thể muốn xem Eclipse CDT. Nó cung cấp một IDE C / C ++ chạy trên nhiều nền tảng (ví dụ: Windows, Linux, Mac OS X, v.v.). Gỡ lỗi bằng Eclipse CDT có thể so sánh với việc sử dụng các công cụ khác như Visual Studio.

Bạn có thể xem hướng dẫn Gỡ lỗi Eclipse CDT cũng bao gồm một số ảnh chụp màn hình.


14
Anh bạn, sinh viên sẽ mất hàng tuần để học Eclipse.
MrFox

14
-1 để đề xuất Eclipse
Celeritas

7
Tôi sẽ không -1 điểm nhưng IDE tệ.
ovrwngtvity

2
Và vì các bạn phàn nàn rất nhiều, bạn khuyên bạn nên làm gì? mã :: các khối đã không được cập nhật trong 3 năm nay?
JohnJohn

3
Eclipse là rất tốt cho Java, nhưng nó xấu đẹp cho C / C ++ ...

14

Qt Creator , ngoài các tính năng bổ sung khác, cũng có tích hợp trình gỡ lỗi tốt, cho CDB, GDB và trình gỡ lỗi Symnbian, trên tất cả các nền tảng được hỗ trợ. Bạn không cần sử dụng Qt để sử dụng Qt Creator IDE, cũng không cần sử dụng QMake - nó cũng có tích hợp CMake, mặc dù QMake rất dễ sử dụng.

Bạn có thể muốn sử dụng Qt Creator làm IDE để dạy lập trình, hãy xem nó có một số tính năng tốt:

  • Trình soạn thảo C ++ rất thông minh và tiên tiến
  • Dự án và xây dựng các công cụ quản lý
  • Tích hợp QMake và CMake
  • Hệ thống trợ giúp tích hợp, nhạy cảm với ngữ cảnh
  • Trình gỡ lỗi trực quan tuyệt vời (CDB, GDB và Symbian)
  • Hỗ trợ GCC và VC ++
  • Công cụ điều hướng mã nhanh chóng
  • Hỗ trợ Windows, Linux và Mac OS X

Nó có hỗ trợ gỡ lỗi các chương trình nhỏ không có tệp dự án không? Tôi nhớ đã sử dụng nó cho chương trình lớn hơn của mình, nhưng lần thiết lập đầu tiên khá khó khăn, mặc dù IDE rất tốt.
syockit

12

Có lẽ nó là gián tiếp đến gdb (vì nó là một IDE), nhưng các đề xuất của tôi sẽ là KDevelop . Khá hư hỏng với trình gỡ lỗi của Visual Studio (đã làm việc chuyên nghiệp trong nhiều năm), cho đến nay tôi cảm thấy gỡ lỗi thoải mái nhất trong KDevelop (như sở thích ở nhà, vì tôi không đủ tiền mua Visual Studio cho mục đích cá nhân - cho đến khi Express Edition ra mắt ). Nó trông "giống với" Visual Studio so với các IDE khác mà tôi đã thử nghiệm (bao gồm cả Eclipse CDT) khi nói đến gỡ lỗi từng bước, từng bước, v.v. (việc đặt các điểm ngắt hơi khó xử vì tôi không thực hiện được " Không thích sử dụng chuột quá nhiều khi viết mã, nhưng nó không khó).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.