Trace32를 처음 실행하면 상단에 아이콘이 길게 나열되어 있다.
문제는 이 아이콘들을 어디서부터 어떻게 써야 하는지 알기 어렵다는 점이다.
이유는 단순하다.
이 아이콘들은 개별 기능이 아니라 정해진 순서 안에서 사용하는 CPU 제어 명령이기 때문이다.
즉, 버튼을 하나씩 이해하려고 하면 헷갈리고, 순서대로 흐름을 이해하면 자연스럽게 연결된다.
Trace32의 디버깅은 아래 5단계로 반복된다.
① 실행 중인 CPU를 멈춘다 (Break)
디버깅의 시작은 항상 “정지”다.
실행 중인 상태에서는 내부를 볼 수 없기 때문이다.
상단의 정지 아이콘(Break)을 누르면 외부에서 CPU 실행을 강제로 멈추고 제어권을 가져온다.
이 순간부터 Trace32는 단순 관찰 도구가 아니라 시스템을 직접 제어하는 상태가 된다.

② 현재 위치를 확인한다 (Register)
CPU를 멈췄다면 가장 먼저 해야 할 것은 “지금 어디서 멈췄는지” 확인하는 것이다.
Register 창을 처음 보면 숫자만 가득해서 당황스럽다.
하지만 이 화면에서 중요한 건 하나뿐이다.
바로 PC(Program Counter) 값이다.

PC는 CPU가 실행하고 있던 코드의 위치를 의미한다.
즉, 이 값 하나만 보면 “지금 어디서 멈췄는지”를 알 수 있다.
나머지 레지스터 값들은 대부분 연산 중간값이기 때문에 처음에는 신경 쓰지 않아도 된다.
③ 메모리 상태를 확인한다 (Data)
다음 단계는 데이터 확인이다.
Trace32에서는 메모리를 직접 확인할 수 있는데,
이때 사용하는 것이 Data.List 또는 Data.Dump 기능이다.
Data.Dump 아이콘을 누르면 먼저 “어떤 주소를 어떻게 볼지” 설정하는 창이 나타난다.

여기서 주소와 표시 형식을 설정한 뒤 실행하면 실제 메모리 값이 화면에 출력된다.

④ 흐름을 잘라서 추적한다 (Step)
원인이 명확하지 않다면 이제 실행 흐름을 쪼개서 봐야 한다.
Step 기능을 사용하면 코드를 한 줄씩 실행하면서 값이 변하는 시점을 확인할 수 있다.

이 단계는 시간이 걸리지만, 문제를 가장 정확하게 잡아내는 방법이다.
⑤ 다시 전체 실행으로 돌린다 (Go)
확인이 끝났다면 다시 시스템을 실행시켜야 한다.
Go 버튼을 누르면 CPU가 다시 동작하고 전체 흐름이 이어진다.
이후 문제가 다시 발생하면 같은 과정을 반복하게 된다.

핵심 포인트
Trace32는 버튼을 외워서 쓰는 툴이 아니다.
실무에서는 거의 이 순서를 따른다.
Break → Register 확인 → Memory 확인 → Step → Go
이 순서만 기억하면 상단 아이콘은 자연스럽게 이해된다.
Trace32의 상단 아이콘은 개별 기능이 아니라 CPU 제어 순서를 구성하는 단계별 도구다.
디버깅은 항상 이 흐름으로 반복된다.
멈추고, 위치를 보고, 데이터를 확인하고, 흐름을 쪼개고, 다시 실행한다.
이 순서가 익숙해지면 아이콘은 따로 외울 필요가 없다.
즉, Trace32는 버튼을 누르는 툴이 아니라 정해진 순서로 CPU를 제어하는 도구다.
'Trace32' 카테고리의 다른 글
| [Trace32] Step vs Over 차이 (여기서 대부분 헷갈린다) (0) | 2026.05.05 |
|---|---|
| [Trace32] 자주 사용하는 명령어 10개 (실무에서 바로 쓰는 것만) (0) | 2026.05.04 |
| [Trace32] 조건부 Breakpoint 제대로 쓰는 방법 (Change Breakpoint 창 실무 활용) (0) | 2026.05.04 |
| [Trace32] 코드 원하는 위치에서 정확히 멈추는 방법 (Breakpoint 실무 사용법) (1) | 2026.05.03 |
| [Trace32] 디버거 구조 완전 이해 (USB 연결부터 ECU 제어까지 전체 흐름) (0) | 2026.05.02 |