2013-05-17 4 views
0

인턴 과정 중 이상한 문제가 발생했습니다. 제 작품은 C++로 VTK로 코드를 작성하고 OSX 10.8.3에서 작업했습니다. gdb가 지시에 따라 올바른 소스 코드를 표시하지 않습니다. -l


내 프로그램을 디버깅 할

, 나는 나는 줄 번호로 중단 점을 만들기 위해 소스 코드를 보여주기 위해 "목록"을 사용, 내 프로그램을로드 gdb를 사용 명령 "파일"을 달렸다. 여기에 문제가 있습니다.이 괴상한 gdb는 소스 코드에 포함되지 않은 VTK 헤더 파일의 소스 코드를 보여줍니다! 말도 그


내 프로그램의 이름은 읽어 나는 중단 점을 설정하기 위해 다음 break read:15gdb read를 사용하려고했지만 GDB는 "no source file named read"을 표시! 나는 GDB 내 우분투 12.04에서 잘 작동 것으로 나타났습니다 내가 리눅스의 GDB에 file read를 사용하는 경우, 그냥

Reading symbols from /Users/apple/Dev/VTKRead/bin/bin/read...done. 

있지만

Reading symbols for shared libraries ......... done 
Reading symbols from /Users/apple/Dev/VTKRead/bin/bin/read...done. 

I 표시 내 OSX 10.8.3의 이상한 GDB에서

를 표시 그런 이유라고 생각하고 macport에 gcc4.8을 설치하여 문제를 해결하기 위해 컴파일러를 변경하려고 시도했지만 cmake는 사과의 gcc 만 받아 들일 것 같습니다.

답변

1

그러나 gdb에는 "읽기라는 소스 파일이 없습니다"라는 말도 안되는 내용이 표시됩니다! 하지 rigiculous 전혀 입니다

: 당신은 매우 가능성이 할은 소스 파일이 read라고하지. 당신이하는 일은 아마도 read.cc 또는 read.cpp입니다. 따라서 break read.cc:15을 시도하십시오.

+0

답변 해 주셔서 감사합니다. 나는 당신의 방법을 시도했으나 효과가 없습니다. 내 소스 파일 이름은 read6.cpp이고 "break read6.cpp : 15"를 사용하는 것이 지겹다. osx의 gdb도 "read6.cpp라는 소스 파일이 없음"을 보여주었습니다. 중요한 문제는이 소름 끼치는 gdb가 소스 코드를로드 할 수 없다는 것입니다. 나는 osx의 gdb가 애플의 gcc의 출력 파일을 읽을 수 없다는 것을 의심 스럽다. – Democritus

0

그건 내 실수예요 : 컴파일러가 정보를 파일에 쓰지 않았으므로 빌드 태그를 ccmake에서 "디버그"로 설정하지 않았습니다.

관련 문제