이제는 ARM 데이터 중단 예외가 발생한다는 것을 이해합니다. 예외 자체 (STL 라이브러리의 잘못된 주소)를 트래핑하는 방법을 볼 수 있지만 백업을하고 싶습니다. 예외 이전의 스택 프레임 IAR 툴체인을 사용하고 있는데, 예외 이후에 호출 스택을 사용할 수 없다고 알려줍니다. 호출 스택을 보여주기 위해 툴을 설득하는 트릭 방법이 있습니까? 모든 빠른 도움에 감사드립니다!ARM 데이터 중단 오류 예외 디버깅
4
A
답변
6
ARM ARM (ARM 아키텍처 참조 설명서, Google "팔 암"), 프로그래머 모델 -> 프로세서 모드 및 레지스터 섹션을 살펴 본다면 중단 모드에있을 때 당신은 사제가되어 있으므로 중지에서 수퍼바이저로 전환 한 다음 r13 사본을 만든 다음 중단 모드로 다시 전환하고 r13 사본에서 스택을 덤프 할 수 있습니다. 또한 r14는 중단이 발생한 곳을 알려줍니다.
이 중단이 정렬에서 발생했다면 나는 놀랄 것입니다. 주소의 lsbit가있는 하위 2 비트 또는 하프 워드에서 0 이외의 값으로 주소로 단어를 읽거나 쓰려고합니다. 실제로 중단 및 사용자/감독자가 동일한 레지스터 공간을 사용하기 때문에 링크 레지스터와 레지스터 (r0 ~ r12)의 덤프를 가져 오는 경우 중단 및 주소가 실제로 발생했는지를 알 수있는 명령을 볼 수 있습니다 정렬 문제 또는 다른 것. 엄지 손가락을 전혀 사용하지 않는다면, 걱정하지 말고 PC가 중지 된 모드 엄지 또는 팔에 따라 앞서 한두 단계의 지침입니다.
관련 문제
- 1. 디버깅 중단 PHP
- 2. "잘못된 구문"예외 디버깅
- 3. Xcode에서 예외 디버깅 4
- 4. ARM Undefined 명령어 오류
- 5. 스레드 중단 예외
- 6. Eclipse CDT에서 Zylin을 사용하여 arm-elf C 코드 디버깅
- 7. 핵심 데이터 : 오류 vs 예외 2 부
- 8. Eclipse 디버깅 - 중단 점없이 중지
- 9. iPhone : 간단한 UITableViewController 콘솔 오류 또는 디버깅 단서없이 작동 중단
- 10. C++ 디버깅 예외 c0000139
- 11. WPF로 예외 디버깅
- 12. Ironpython : null 참조 예외 디버깅
- 13. Qt : QML 호출 슬롯이 응용 프로그램 충돌 [데이터 중단 예외]
- 14. XCode의 "캡쳐되지 않는 예외 종료"디버깅
- 15. 핵심 데이터 오류 대 예외 3 부
- 16. Silverlight : 바인딩 오류 중단
- 17. 형식 초기화 자에서 예외 디버깅
- 18. 예외를 사용하여 디버깅 : '중단 된 경우 중단'하는 방법
- 19. WinDbg에서 "중단 명령 예외"란 무엇입니까?
- 20. Ruby-Debug로 Rails 코어를 디버깅/중단 점?
- 21. 디버깅 - 중단 점이있는 코드 건너 뛰기
- 22. 디버깅 System.Web.UI.UserControl이 중단 점을 한 번만 치기
- 23. 디버깅 문제 (중단 점이 적중되지 않음)
- 24. windbg에서 디버깅 중단 덤프 문제가 발생했습니다.
- 25. 데이터 어댑터를 중단 하시겠습니까?
- 26. Eclipse에서 캐치되지 않는 런타임 예외 일시 중단 Junit 테스트 러너
- 27. JAX-WS - 오류 예외 예외
- 28. 이상한 오류 : -CoreAnimation : 예외 예외 :
- 29. null 참조 예외 오류
- 30. 우분투 용 ARM toolchain 컴파일 중 오류
팔암을 아직받지 못한 경우 확실히 얻으십시오. 그것은 놀라운 책입니다. 중단은 얼라인먼트에서 나올 수 있으며 mmu/mpu를 불법적 인 주소로 설정하는 방법에 따라 달라질 수 있습니다. 나는 OMAP 기반의 926ejs 코어를 사용하고 실제로 abort 주소를 저장할 레지스터가 있으므로 스펙 시트를 참조하십시오. – ThePosey
감사합니다 - 문제가 정렬되었거나 잘못된 포인터인지 확인합니다. 단지 정렬 일 뿐이라면 예외에서 돌아올 수 있습니까? 나는 ARM 암을 가지고있다. 나는 그것을 공부할 것이다. – Jeff
왜 그런 일이 일어 났는지 생각해야한다고 생각합니다. 이것이 일치하면 트랩이 당신을 해치지 않는 데 도움이됩니다. 예, 문제가 발생한 곳으로 돌아 가면 문제를 해결할 수 있지만 수행해야하는 메모리 액세스는 발생하지 않으며 필요한 데이터가 읽히거나 쓰여지지 않아 다른 곳에서 실패 할 가능성이 큽니다. 정렬 데이터 중단을 비활성화 할 수도 있지만 실제 문제를 찾는 것이 훨씬 어렵습니다. –