it-swarm-ko.tech

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

나는 초보자들에게 일종의 "lite"C++ 프로그래밍 과정을 가르친다. 학생들은 프로그래밍 경험이 없으므로 대화 형 디버거를 사용하면 프로그램 흐름, 변수 및 재귀를 이해하는 데 도움이 될 것이라고 믿습니다.

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

고맙습니다,

106
omer.gimenez

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

35
jbleners

Red Hat이 작성한 gdb의 그래픽 프론트 엔드 Insight 를 사용하거나 그놈 데스크탑 환경을 사용하는 경우 Nemiver 를 사용해 볼 수도 있습니다.

25
Narek Babajanyan

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

여러 스크린 샷이 포함 된 Eclipse CDT Debug tutorial 을 확인할 수 있습니다.

16
Jon Ball

Qt Creator 는 다른 기능과는 별도로 지원되는 모든 플랫폼에서 CDB, GDB 및 Symnbian 디버거에 대한 디버거 통합 기능이 우수합니다. Qt를 사용하여 Qt Creator IDE를 사용하거나 QMake를 사용할 필요가 없습니다. QMake는 사용하기가 쉽지만 CMake 통합도 있습니다.

Qt Creator를 IDE으로 사용하여 프로그래밍을 가르치고 싶다면 좋은 기능이 있다고 생각하십시오.

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

아마도 IDE이기 때문에 gdb에 간접적이지만 권장 사항은 KDevelop 입니다. Visual Studio의 디버거 (전문적으로 수년 동안 직장에서)로 인해 버릇이 있었기 때문에 지금까지 KDevelop에서 가장 편안한 디버깅을 느꼈습니다. ). Step-through, step-in 등을 디버깅 할 때 (Eclipse CDT 포함) 실험 한 다른 IDE와 비교하여 Visual Studio와 비슷한 모양을 보입니다 (브레이크 포인트를 배치하는 것은 약간 어색합니다. 코딩 할 때 마우스를 너무 많이 사용하고 싶지 않지만 어렵지는 않습니다.

12
HidekiAI

TotalView 에서 일하고 있으며 상용 Linux C++ (Fortran 및 MPI 및 스레드) 디버거의 무료 학생 버전이 있습니다.

http://www.roguewave.com/company/academic-programs.aspx

"교실에서 공유"라이센스에 대한 가격도 대폭 할인되었습니다.

제품 작동 방식을 보여주는 간단한 비디오는 http://www.roguewave.com/products/totalview/resources/videos.aspx 를 참조하십시오.

TotalView가 C++에 대해 갖는 몇 가지 특정 기능 :

  • STL 콜렉션 클래스를 합리적인 것으로 자동 변환
  • 지시 사항을 확인하기 위해 포인터에 "다이빙"
  • 배열에 대한 포인터의 쉬운 "캐스팅"
  • 객체 배열에서 객체의 각 인스턴스에서 단일 데이터 필드를 볼 수있는 기능
  • 클래스의 모든 인스턴스에서 중단 점 설정

Chris Gottbrath TotalView 제품 관리자 Rogue Wave 소프트웨어

4
Chris Gottbrath