간단히 말하면, 최신 버전의 Visual C ++에서 제공하는 기능 세트에 가깝거나 유사한 gdb 용 GUI를 아는 사람이 있습니까?
세부 사항 : Windows에서 많은 시간을 보낸 사람으로서 Linux에서 C ++을 코딩해야 할 때마다 발견 한 더 큰 걸림돌 중 하나는 명령 줄 gdb를 사용하여 디버깅 할 때보 다 몇 배 더 오래 걸립니다. Visual Studio 및 연습으로 더 나아지지 않는 것 같습니다. 어떤 것은 그래픽으로 표현하기가 더 쉽고 빠릅니다.
특히, 나는 다음과 같은 GUI를 찾고 있습니다.
- 스테핑 및 코드 스테핑, 변수 및 중단 점과 같은 모든 기본 사항을 처리합니다.
- 복잡하고 중첩 된 C ++ 데이터 유형의 내용을 이해하고 표시 할 수 있습니다.
- 매개 변수 유형과 같은 관련 정보를 표시하면서 템플릿 코드 및 데이터 구조를 지능적으로 단계별로 혼동하지 않고 바람직하게 지능적으로 처리 할 수 있습니다.
- 스레드 응용 프로그램을 처리하고 다른 스레드간에 전환하여 상태를 단계별로 보거나 볼 수 있습니다.
- gdb에서 프로그램을 시작하는 것 외에도 이미 시작된 프로세스에 연결하거나 코어 덤프를 읽을 수 있습니다.
그러한 프로그램이 존재하지 않는다면 사람들이 최소한 몇 가지 요점을 충족시키는 프로그램에 대한 경험에 대해 듣고 싶습니다. 누구든지 권장 사항이 있습니까?
편집 :
가능성을 나열하는 것이 좋으며 얻을 수있는 것을 취할 것입니다.하지만 답변에 포함 할 수 있다면 훨씬 도움이 될 것입니다 :
(a) 실제로이 GUI를 사용했는지 여부 , 긍정적 / 부정적 피드백에 대한 의견입니다.
(b) 알고있는 경우 위에 언급 된 기능 중 지원되지 않는 기능
응용 프로그램에 대한 사람들의 개인적인 경험에 대한 아이디어를 얻을 수 있기 때문에 목록을 쉽게 얻을 수 있습니다.
답변
Visual Studio 디버거의 강력한 기능과 경쟁 할 수있는 GDB를 오버레이하는 것은 없습니다 . 너무 강력하고 IDE에 너무 잘 통합되어 있습니다.
Linux 대안의 경우 무료 소프트웨어가 필요한 경우 DDD를 시도하십시오.
답변
Eclipse CDT는 Visual Studio를 사용하는 것과 비슷한 경험을 제공합니다. 매일 코드를 작성하고 로컬 및 원격 프로세스를 디버깅하기 위해 Eclipse CDT를 사용합니다.
Eclipse 기반 IDE 사용에 익숙하지 않은 경우 GUI에 약간 익숙해집니다. 그러나 일단 Eclipse (예 : 관점)에 고유 한 GUI 아이디어를 이해하면 도구를 사용하는 것이 좋은 경험이됩니다.
CDT 툴링은 코드 기반에서 메소드에 대한 참조를 빠르게 찾을 수있는 적절한 C / C ++ 색인기를 제공합니다. 또한 훌륭한 매크로 확장 도구와 제한된 리팩토링 지원을 제공합니다.
디버깅 지원과 관련하여 CDT는 코어 덤프를 읽는 것을 제외하고 목록의 모든 작업을 수행 할 수 있습니다 (지원할 수도 있지만이 기능을 사용하려고 한 적이 없습니다). 또한 템플릿을 사용한 코드 디버깅 경험이 제한되어 있으므로 CDT가 어떤 경험을 제공하는지 잘 모르겠습니다.
Eclipse CDT를 사용한 디버깅에 대한 자세한 정보는 다음 안내서를 확인하십시오.
답변
GUI-ish를 원하지만 여전히 문자 기반을 원한다면 gdb -tui가 정상적으로 작동합니다.
답변
Nemiver C / C ++ 디버거를 확인하십시오 . Ubuntu (개발자 도구 / 디버깅)에 쉽게 설치할 수 있습니다.
업데이트 : 새로운 링크.
답변
Qt Creator는 좋은 것 같습니다. 동료가 디버깅을 위해 설정하는 한 가지 방법을 보여주었습니다.
- “Makefile 기반 프로젝트 가져 오기”새 프로젝트를 작성하십시오.
- 루트 프로젝트 폴더를 지정하십시오 (그 아래의 소스를 색인화하고 매우 빠릅니다).
- 프로젝트 설정으로 이동하여 실행 구성을 추가 한 다음 디버깅 할 실행 파일 및 해당 인수를 지정하십시오.
- Qt Creator는 프로젝트를 디버깅하기 전에 프로젝트를 빌드해야한다고 주장합니다. 원하지 않거나 make를 사용하지 않으려면 프로젝트-> 빌드 (왼쪽 패널)로 이동 한 다음 “빌드 단계”의 오른쪽 패널에서 기본적으로 단계를 포함하여 모든 단계를 제거하십시오. 프로젝트를 만들었습니다.
이미 컴파일 한 앱을 디버깅하는 데 약간의 작업처럼 보일 수 있지만 그만한 가치가 있습니다. 디버거는 스레드, 스택 및 로컬 변수를 Visual Studio와 유사한 방식으로 표시하며 동일한 키보드 단축키를 많이 사용합니다. 적어도 std :: string 및 std :: map과 같은 템플릿을 잘 처리하는 것 같습니다. 아직 테스트하지는 않았지만 기존 프로세스 및 코어 덤프에 연결하는 것이 지원되는 것 같습니다.
지금은 한 시간도 채 걸리지 않았지만 지금까지는 감동했습니다.
답변
Windows 개발이라는 아이디어를 싫어하지만 VC ++ 디버거는 내가 본 것 중 최고입니다. VC에 가까운 GUI 프론트 엔드를 찾지 못했습니다.
GDB는 일단 익숙해지면 훌륭합니다. 화를 내면 충분히 사용하면 능숙 해집니다. 더 이상 많은 노력을 기울이지 않고 나열된 모든 것을 수행하는 프로그램을 둘러 볼 수 있습니다. 내가 유능하기 전에 원격 서버에 대한 SSH 링크로 인해 약 한 달 정도 걸렸습니다. 나는 다시는 가지 않을 것이다.
DDD는 정말 강력하지만 버그가 많았습니다. GDB에서 메시지를 받았을 때 그 메시지가 들리지 않는 경우가 자주 발생했습니다. gdb 인터페이스 창이 있기 때문에 진행 상황을 확인하고 gdb와 직접 상호 작용할 수 있기 때문에 좋습니다. 어떤 이유로 든 DDD를 내 환경의 원격 X 세션에서 사용할 수 없습니다 (유닉스 개발을 할 때 씬 클라이언트에 앉아 있기 때문에 실제 문제).
KDevelop는 전형적인 KDE 스타일을 따르고 사용자에게 모든 것을 노출 시켰습니다. 또한 KDevelop에서 KDevelop 이외의 프로그램을 디버깅하는 데 운이 없었습니다.
Gnat Programming Studio (GPS)는 실제로 GDB에 대한 훌륭한 프론트 엔드입니다. Ada 프로젝트를 관리하는 것이 아니라 디버거가 필요한지 시험해 볼 가치가 있습니다.
이클립스를 사용할 수는 있지만 무게가 꽤 나가서 함께 일한 많은 유닉스 사람들이 인터페이스에 신경 쓰지 않습니다 .STFU뿐만 아니라 길을 벗어날 수도 있습니다. 이클립스는 또한 많은 공간을 차지하고 개처럼 달린 것처럼 보입니다.
답변
간단하고 유용한 cgdb를 사용합니다.