내 프로젝트에서 충돌을 처리하고 스택 추적을 생성하기 위해 브레이크 패드를 사용하고 있습니다. 스택 추적에는 stackwalker에서 함수 호출 정보를 찾는 방법이 있습니다. 프로세스 여기 Finding_the_caller_frame 설명이 : 스택 트레이스 : 스택 스캐닝 대 콜 프레임 대 문맥에서 명령 포인터로 주어진 것
- 발견 컨텍스트
에 명령 포인터로 지정된 What`s 그들 차이점 ? 그리고 더 중요한 것은 그들이 디버깅 측면에서 어떻게 도움이 될 수 있는가?
Thread 0 (crashed)
0 test_google_breakpad!crash [test_breakpad.cpp : 17 + 0x4]
r4 = 0x00015530 r5 = 0xbea2cbe4 r6 = 0xffffff38 r7 = 0xbea2cb5c
r8 = 0x00000000 r9 = 0x00000000 r10 = 0x00000000 fp = 0x00000000
sp = 0xbea2cb50 lr = 0x00009025 pc = 0x00008f84
Found by: given as instruction pointer in context
1 test_google_breakpad!main [test_breakpad.cpp : 25 + 0x3]
r4 = 0x00015530 r5 = 0xbea2cbe4 r6 = 0xffffff38 r7 = 0xbea2cb5c
r8 = 0x00000000 r9 = 0x00000000 r10 = 0x00000000 fp = 0x00000000
sp = 0xbea2cb50 pc = 0x00009025
Found by: call frame info
2 libc.so + 0x164e5
r4 = 0x00008f64 r5 = 0xbea2cc34 r6 = 0x00000001 r7 = 0xbea2cc3c
r8 = 0x00000000 r9 = 0x00000000 r10 = 0x00000000 fp = 0x00000000
sp = 0xbea2cc18 pc = 0x400c34e7
Found by: call frame info