2009-08-17 3 views
0

방금 ​​C를 배우기 시작했고 gcc 환경에서 디버깅을위한 간단한 도구를 찾고 있습니다. 이러한 도구는 스택 추적을 인쇄하고 세그멘테이션 오류가 발생한 위치를 나타냅니다.C : gcc 환경 용 디버깅 옵션

답변

7

시도 gdb; 또는 프론트 엔드는 ddd 또는 kdgb입니다.

-g 플래그로 컴파일하십시오.

+0

GDB는 텍스트 기반되고도있다 valgrind.

보고 권합니다. ddd는 gdb를 둘러싼 GUI 래퍼입니다. – user47559

+0

나는 -ggdb3 플래그로 컴파일해야한다는 것을 확신한다. – scvalex

1

GDB는 디버그 정보 (-g 스위치 사용)로 프로그램을 컴파일 한 다음 GDB로 열어야합니다. 스택 추적을 인쇄하려면 bt 명령을 사용하십시오.

같은 당신은뿐만 아니라 GDB의 핵심 파일의 경로를 통과해야 세그먼테이션 폴트 (segfault),보고자 :

gdb yourprogram core 

기본적으로 시스템이 segfault의 경우 코어 파일을 생성하지 않는 경우, 당신이 그것을 전환 할 수 있습니다 명령을 사용하여 :

ulimit -c unlimited 
0
명령 줄 gdb를 사용 여부

, 또는 DDD와 같은 프론트 엔드 중 하나를 시도해보십시오 X를 사용하는 경우, 당신은 확실히해야 gdb manual을 보라. (많은 GNU 매뉴얼처럼) 아주 좋은 튜토리얼이다.

0

또한 kdevelop에서 GDB의 좋은 통합 (이맥스 바인딩도 괜찮습니다 ..)