현재 Vector 클래스 구현을 테스트하고 있으며 GDB를 사용하여 오류가 발생한 위치를 확인하려고합니다.스택 추적 GDB에 함수 이름이 없지만 LLDB에 나타납니다.
| => gdb ./a.out
Reading symbols from ./a.out...Reading symbols from /Users/prog/Desktop/Generics/a.out.dSYM/Contents/Resources/DWARF/a.out...done.
done.
(gdb) r
Starting program: /Users/prog/Desktop/Generics/a.out
[New Thread 0x2703 of process 56984]
warning: unhandled dyld version (15)
Thread 2 received signal SIGSEGV, Segmentation fault.
0x00007fff65d97fe6 in ??()
(gdb) bt
#0 0x00007fff65d97fe6 in ??()
#1 0x00007ffeefbff640 in ??()
#2 0x00007fff65be4139 in ??()
#3 0x00007ffeefbff660 in ??()
#4 0x0000000000000000 in ??()
나는 내가 (충돌 및 스택 추적을 인쇄하려고 후) 출력으로 다음 얻을, 다음 gcc -ggdb Vector.c TestVector.c
컴파일, 이후 GDB에서 실행
내가 LLDB에서 동일한 작업을 수행
, 출력은 조금 더 명확 : 이내 질문은, 왜 GDB는 사이 컴파일 설정을 변경하지 (하지 나에도 불구하고 나에게 정확한 정보와 lldb를 제공하지 않습니다됩니다 두 개의 디버깅 세션) 어떻게 해결할 수 있습니까?
도움이된다면 Mac OS X, High Sierra를 운영체제로 사용하고 있습니다.
이것은 알려진 [Mac OS의 gdb 버그] (https://sourceware.org/bugzilla/show_bug.cgi?id=20981)입니다. – ks1322