프로그래밍 교육에 도움이되는 최고의 Linux C / C ++ 디버거 (또는 gdb의 프런트 엔드)는 무엇입니까? [닫은]


106

나는 초보자들에게 일종의 "라이트"C ++ 프로그래밍 과정을 가르친다 ( "라이트"는 포인터, 클래스, 평범한 C, 참조, STL 문자열 및 벡터를 의미 함). 학생들은 프로그래밍 경험이 없기 때문에 대화 형 디버거를 사용하면 프로그램 흐름, 변수 및 재귀를 이해하는 데 도움이 될 것이라고 생각합니다.

이 과정은 Linux로 진행됩니다. gdb를 사용하도록 가르치는 것은 지나친 일입니다 (대부분의 기능을 사용하거나 이해하지 못합니다). 간단하지만 사용하기 쉬운 것이 필요합니다. 프로그램이 현재 어느 줄에 있는지, 스택에 무엇이 있는지 (로컬 변수, 이전 호출 등) 확인하기 위해. 이전 Turbo Pascal 또는 Turbo C ++ Borland의 디버거 또는 Visual Studio 디버거와 비슷합니다.

감사합니다,


4
나는 수업없이 C ++를 가르치는 이유를 이해하지 못한다. 하지만 난 평균 :-) 교육 중 ... 노력을 인식
m-RIC

1
C / C ++는 ... 총 초보자를위한 좋은 옵션처럼 나에게 소리를하지 않습니다
제이미 Hablutzel에게

답변:


36

ddd 는 gdb에 대한 그래픽 프론트 엔드로 꽤 좋습니다. 단점 중 하나는 고전적인 X 인터페이스이지만 꽤 직관적 인 것 같습니다.


2
DDD는 정말 훌륭한 프런트 엔드입니다. 저는 C ++를 가르 치곤했습니다. 제 학생들은 gdb를 사용하는 방법을 이해할 수 없었지만 ddd (아주 기본적인 사항 만 설명하고 -g로 컴파일하도록 지시)를 간략히 살펴본 후 빠르게 코드를 디버깅하고 무슨 일이 일어 났는지 이해하는 데 훨씬 능숙 해졌습니다. UI가 "오래되고 구식"으로 보일 수 있지만 분명히 작동하는 것을 수정하는 이유는 무엇입니까?
wasatz 2010

43
DDD는 내가 본 것 못난 사용자 인터페이스 중 하나가 imgur.com/UFTBjnW
ubershmekel

3
C에 ddd를 많이 사용했지만 벡터 및 std :: 일반적으로 지원이 상당히 부족합니다. 정기적으로 중단 점을 설정하기 위해 무언가의 엉망인 이름을 제공해야합니다. 첫 번째 C ++ 단계를 수행하는 학생들에게는 권장하지 않습니다.
PypeBros

1
DDD는 데이터 구조를 검사하는 데 적합합니다. 큰 책상에 배치하고 서로를 가리키는 방식을 확인할 수 있기 때문입니다. 그러나 C 스타일 (STL이없고 모든 곳에 포인터가 있음) 데이터에만 유용하다는 것은 사실입니다.
Roman Plášil

1
그게 17 살 같아요.
Rolf

25

Red Hat에서 작성한 gdb 용 그래픽 프런트 엔드 인 Insight를 사용해 보거나 GNOME 데스크톱 환경을 사용하는 경우 Nemiver 를 사용해 볼 수도 있습니다.


4
통찰력은 너무 멋지지만 데비안에서 제거되어 내 Linux에 설치할 수 없습니다. 누가 책임이 있는지 모르겠지만 그는 내 필멸의 적 목록에 입력했고 그를 만나면 내 분노에 직면 할 것입니다! 누구든지; 거기가 실행 얻을 수있는 방법이 아직 있지만, UI는 조금 나사 - 최대 : baptiste-wicht.com/2012/01/...
MasterMastic

@SamuelLampa apt-get을 nemiver 설치
Narek Babajanyan

@MasterMastic, 아무도 그것을 유지하지 않았기 때문에 제거되었습니다. 걱정하지 마세요. 인수 할 수 있습니다!
andrewsh

16

Eclipse CDT를 확인하는 것이 좋습니다. 여러 플랫폼 (예 : Windows, Linux, Mac OS X 등)에서 실행되는 C / C ++ IDE를 제공합니다. Eclipse CDT를 사용한 디버깅은 Visual Studio와 같은 다른 도구를 사용하는 것과 비슷합니다.

여러 스크린 샷이 포함 된 Eclipse CDT 디버그 튜토리얼 을 확인할 수 있습니다 .


14
야, 학생들은 Eclipse를 배우는 데 몇 주가 걸릴 것입니다.
MrFox

14
-1 : Eclipse 추천
Celeritas 2013 년

7
나는 -1 점은 아니지만 IDE는 형편 없다.
ovrwngtvity 2014 년

2
그리고 여러분들이 불평을 많이 하셨는데 무엇을 추천 하시나요? 현재 3 년 동안 업데이트되지 않은 code :: blocks?
JohnJohn

3
... 이클립스는 자바를 위해 중대하다,하지만 C / C ++에 대한 아주 나쁜

14

Qt Creator 는 다른 기능과는 별도로 지원되는 모든 플랫폼에서 CDB, GDB 및 Symnbian 디버거에 대한 좋은 디버거 통합 기능을 제공합니다. Qt Creator IDE를 사용하기 위해 Qt를 사용할 필요도없고 QMake를 사용할 필요도 없습니다. QMake는 사용하기 매우 쉽지만 CMake 통합 기능도 있습니다.

Qt Creator를 IDE로 사용하여 프로그래밍을 가르치고 싶을 수 있습니다.

  • 매우 똑똑하고 고급 C ++ 편집기
  • 프로젝트 및 빌드 관리 도구
  • QMake 및 CMake 통합
  • 상황에 맞는 통합 도움말 시스템
  • 뛰어난 비주얼 디버거 (CDB, GDB 및 Symbian)
  • GCC 및 VC ++ 지원
  • 신속한 코드 탐색 도구
  • Windows, Linux 및 Mac OS X 지원

프로젝트 파일이없는 작은 프로그램 디버깅을 지원합니까? 더 큰 프로그램에 사용했던 것을 기억하지만, IDE는 매우 훌륭하지만 첫 번째 설정은 매우 고통 스러웠습니다.
syockit

12

아마도 IDE이기 때문에 gdb에 간접적 일 수 있지만 권장 사항은 KDevelop 입니다. Visual Studio의 디버거 (전문적으로 수년 동안 근무)에 흠뻑 빠져서 지금까지 KDevelop에서 가장 편안한 디버깅을 느꼈습니다 (집에서 취미로, 개인적으로 사용하기 위해 Visual Studio를 감당할 수 없었기 때문에 Express Edition이 나올 때까지) ). 스텝 스루, 스텝 인 등의 디버깅과 관련하여 내가 실험 해 본 다른 IDE (Eclipse CDT 포함)와 비교하여 Visual Studio와 "비슷한 것처럼 보입니다"(중단 점을 배치하는 것은 약간 어색합니다. t 코딩 할 때 마우스를 너무 많이 사용하는 것을 좋아하지만 어렵지 않습니다).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.