2016-09-24 9 views
0

프리 스케일 mpc565 powerpc가 있습니다. 장치에서 읽은 원시 펌웨어 사본이 있으며 Ida Pro에서 디 컴파일했습니다.trace32를 사용하여 IDA 및 BDM을 통한 원시 펌웨어 디버그

원본 elf 파일과 기호 정보가 없어도 trace32와 bdm을 사용하여 어셈블리를 디버그 할 수 있습니까?

어셈블리를 통해 단계별로 램 내용을보고 싶습니다.

나는 이것을 달성 할 수있는 무언가를 쓰기 위해 trace32 API를 사용할 수는 있지만, 나는 장애물이 원래의 심볼 테이블 소스가 없기 때문에 뛰어 넘을 필요가 없다는 것을 알지 못한다.

도움을 주시면 감사하겠습니다.

답변

2

어셈블리를 단계별로 실행하고 어셈블러 코드를 디버깅하므로 (중단 점 설정 등) 아무런 문제가되지 않습니다.

그러나 기호 정보/원본 elf 파일이 없으면 에만 어셈블리로 제한됩니다. 의미 : 예를 들어 "Break.Set main"(주 함수의 항목에 중단 점을 설정)을 시도하면 디버거가 "main"함수가 가진 주소를 알지 못하기 때문에이 기능이 작동하지 않습니다.

"main"기능에 대해 알지 못하므로 디버거에서 "기호를 찾을 수 없음"이라고보고합니다.

또한 디버거는 일련의 어셈블러 명령어와 일치하는 소스 코드를 표시 할 수 없습니다.

이 정보가 도움이되기를 바랍니다.

+0

좋은 답변입니다. 나는 TRACE32 API를 사용할 필요가 없다고 덧붙이고 싶다. TRACE32는 자체 디스어셈블러와 함께 제공되므로 원시 애플리케이션 코드가 타겟 RAM에 있는지 확인하기 만하면됩니다. – Holger

+0

감사합니다. 그렇다면 BDM을 사용하여 IDAPro를 통해 쉽게 디버깅 할 수 있습니까? 트레이스 32에 어셈블리를로드 할 수있는 방법이 무엇인지 모르겠습니다. 원시 ROM 덤프뿐입니다. 당신이 알고있는 모든 가이드? 같은 아키텍처 일 필요는 없습니다. 소스 코드가 없으므로 ASM 명령어를 직접 디버깅하고 싶습니다. – rolls

+0

확인 IDAPro가 무엇인지 확인했습니다. 디스어셈블러를 사용하는 한 TRACE32에 이미 포함되어 있습니다. 제 생각에는 TRACE32를 BDM 백엔드로 사용하고 싶습니다. 지금까지 IDAPro와 TRACE32를 연결하는 유일한 방법은 GDB 프로토콜을 사용하는 것입니다. 이것은 작동 할 수도 있지만 mpc565 (GDB 프로토콜의 일부는 완전히 아키텍처에 따라 다름)가 지원되는지 여부는 알 수 없습니다. 확인해야합니다. –