gdb: "기호 테이블이 로드되지 않았습니다"
gdb에 브레이크 포인트를 추가하려고 하면 이 에러 메세지가 계속 표시됩니다.
다음 명령을 사용하여 컴파일했습니다.
gcc -g main.c utmpib2.c -o main.o
and:
cc -g main.c utmpib2.c -o main.o
and also:
g++ -g main.c utmpib2.c -o main.o
또한 "-g" 대신 "-ggdb"를 사용해도 여전히 오류 메시지가 나타납니다.
다음으로 gdb를 실행합니다.
$gdb
gdb:
(gdb)exec-file main.o
(gdb)break 59
No symbol table is loaded. Use the "file" command.
소스 레벨의 디버깅 정보를 생성하는 파라미터 -g를 추가해야 합니다.다음과 같이 표시됩니다.
gcc -g prog.c
그 후 gdb를 일반적인 방법으로 사용할 수 있습니다.
우선, 당신이 가지고 있는 것은 오브젝트 파일이 아닌 완전히 컴파일된 프로그램입니다.따라서.o
내선 번호이 에러 메세지에 주의해 주세요.이 메시지는 문제를 해결하는 방법을 정확하게 설명합니다.「기호 테이블이 로드되어 있지 않습니다."file" 명령을 사용합니다.
(gdb) exec-file test
(gdb) b 2
No symbol table is loaded. Use the "file" command.
(gdb) file test
Reading symbols from /home/user/test/test...done.
(gdb) b 2
Breakpoint 1 at 0x80483ea: file test.c, line 2.
(gdb)
아니면 명령행에서 프로그램을 통과시키거나
$ gdb test
GNU gdb (GDB) 7.4
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
[...]
Reading symbols from /home/user/test/test...done.
(gdb) b 2
Breakpoint 1 at 0x80483ea: file test.c, line 2.
(gdb)
나도 같은 문제가 있고 이 포스트를 팔로우했더니 내 문제가 해결됐어.
다음의 2개의 순서에 따릅니다.
- 최적화 레벨이 다음과 같은지 확인합니다.
-O0
- 더하다
-ggdb
프로그램을 컴파일할 때 플래그 지정
행운을 빕니다.
오늘 아침 이 문제가 발생한 것은 다른 OS에서 동일한 실행 파일을 사용했기 때문입니다.프로그램 컴파일 후gcc -ggdb -Wall test.c -o test
Mac(10.15.2)에서gdb
Ubuntu(16.04)의 실행 파일을 VirtualBox에 저장합니다.
수정: Ubuntu에서 동일한 명령어로 다시 컴파일하면 됩니다.
언제든지gcc
컴파일 기계와gdb
테스트 머신의 버전이 다르면 debuginfo 형식의 비호환성이 발생할 수 있습니다.
이 문제를 해결하려면 debuginfo 형식을 다운그레이드해 보십시오.
gcc -gdwarf-3 ...
gcc -gdwarf-2 ...
gcc -gstabs ...
gcc -gstabs+ ...
gcc -gcoff ...
gcc -gxcoff ...
gcc -gxcoff+ ...
또는 일치합니다.gdb
에게gcc
사용하고 있습니다.
언급URL : https://stackoverflow.com/questions/9245685/gdb-no-symbol-table-is-loaded
'programing' 카테고리의 다른 글
Vuex 액션 내의 Axios 함수에서 디스패치 캐치(오류)로 오류 메시지를 반환하려면 어떻게 해야 합니까? (0) | 2022.09.01 |
---|---|
typescript와 함께 mapState 사용 (0) | 2022.09.01 |
C는 왜 ->와 을 구별합니까? (0) | 2022.09.01 |
vuex 및 유닛 테스트 문제를 해결하려면 어떻게 해야 합니까? (0) | 2022.09.01 |
vue.js를 사용하여 선택 옵션에서 동적 툴팁을 설정할 수 있습니까? (0) | 2022.09.01 |