2015-01-01 59 views
3

나는 조사하고 싶습니다. 다시 빌드 할 소스가없고 here (gcc -g my_app.c)과 같은 심볼 테이블을 생성 할 소스가 없습니다.GDB - "No Symbol Table"을 다루는 방법

나는 호출 할 때 info locals 내가받을 다음과 같은 오류 "사용할 수 없음 심볼 테이블 정보"

는 해결할 수 있습니다 내가 라이브러리의 소스가없는 경우에도 내가 이클립스와 함께 일하고 있어요 현재 함수의 인수를 arg0, arg1 ... argN으로 수정하고 객체의 멤버도 올바르게 기억하는지 확인하십시오.

GDB를 만족시키고 로컬 변수와 인수의 값을 볼 수있는 사용자 정의/일반/기본 기호 테이블을 생성하는 방법이 있습니까?

+2

소스가 없거나 디버그 빌드 또는 기호 테이블이 있습니까? 당신은 크리스마스 칠면조보다 더 박제가 넘칩니다. –

+0

@MartinJames보다 건설적인 코멘트가 있으십니까? – TacB0sS

+0

슬프게도 그렇습니다. 내 유일한 옵션은 비 건설적인 의견이었다. 심볼 테이블이없고 디버그 빌드가 없다면 아무 것도 얻을 수 없습니다. –

답변

4

응답이 대안이 없도록 로컬 심볼 디버깅에서만 유용한 제

이다. 그들이 버려지면 그들은 사라졌습니다.

+0

args가 런타임에 표시되지 않는 이유는 무엇입니까? 즉, "no symbol table info available"을 읽으면 현재 함수에 전달 된 인수를 어떻게 볼 수 있습니까? – Blauhirn

+1

함수는 단지 스택을 가져옵니다 ... args가 어딘가에있을 수 있습니다. 스택을 검사 할 수 있지만 각 바이트의 의미를 파악하는 것은 까다로울 수 있습니다. – Jasen