본문 바로가기
Trace32

[Trace32] 자주 사용하는 명령어 10개 (실무에서 바로 쓰는 것만)

by Autosar 2026. 5. 4.
반응형

Trace32를 쓰다 보면 버튼으로 시작하지만, 결국 어느 순간부터는 명령어를 직접 사용하게 된다.

 

문제는 명령어가 너무 많다는 점이다.

처음부터 전부 외우려고 하면 오히려 더 헷갈린다.

 

그래서 중요한 건 하나다.

“실무에서 자주 쓰는 것만 먼저 익히는 것”

 

이 글에서는 실제 디버깅 과정에서 반복적으로 사용하는 명령어만 상황과 함께 정리한다.

 

1. 프로그램을 멈출 때 – Break

 

디버깅은 멈추는 것부터 시작한다.

Break

 

코드를 실행하다가 현재 위치에서 즉시 정지한다.

빠르게 상태를 확인할 때 가장 먼저 사용한다.

 

2. 다시 실행할 때 – Go

 

멈춘 상태에서 프로그램을 다시 실행한다.

Go

 

Breakpoint가 있다면 해당 위치에서 자동으로 멈춘다.

Break와 함께 가장 기본이 되는 명령어다.

 

3. 원하는 위치에서 멈출 때 – Break.Set

 

특정 코드 위치에서 자동으로 멈추고 싶을 때 사용한다.

Break.Set 0x1012C1C4

 

사람이 타이밍을 맞추지 않아도 정확한 위치에서 멈출 수 있다.

 

4. Breakpoint 확인 – Break.List

 

현재 설정된 Breakpoint를 확인한다.

Break.List

 

여러 개를 걸어두었을 때 전체 상태를 한 번에 파악할 수 있다.

 

5. 메모리 확인 – Data.List

 

특정 주소의 메모리 값을 직접 확인할 때 사용한다.

Data.List 0x1012C1C4

 

버퍼, 배열, 통신 데이터 확인할 때 자주 사용된다.

“변수”가 아니라 “실제 메모리”를 보는 명령어다.

 

6. 변수 값 확인 – Var.Watch

 

변수 이름 기준으로 값을 확인할 때 사용한다.

Var.Watch

 

가장 직관적인 디버깅 방법이다.

값 변화를 계속 보고 싶을 때 유용하다.

 

7. 레지스터 확인 – Register.View

 

CPU 상태를 직접 확인할 때 사용한다.

Register.View

 

이 명령어를 실행하면

- PC (현재 실행 위치)

- SP (스택 위치)

- R0~R12 (레지스터 값)

을 확인할 수 있다.

 

특히 PC 값을 통해 “지금 어디서 멈췄는지”를 판단할 수 있다.

 

8. 코드 한 줄씩 실행 – Step

 

코드를 한 줄씩 따라가며 실행한다.

Step

 

함수 내부까지 상세하게 확인할 때 사용한다.

 

9. 함수 단위 실행 – Next

 

Step과 비슷하지만 함수 내부로 들어가지 않는다.

Next

 

함수 내부는 중요하지 않을 때 디버깅 시간을 줄일 수 있다.

 

10. 시스템 상태 확인 – SYStem.State

 

현재 CPU 상태를 확인할 때 사용한다.

System.state

 

실행 중인지, 멈춘 상태인지 확인할 때 사용된다.

 

흐름으로 보면 이렇게 사용된다.

 

이 명령어들은 따로 쓰는 것이 아니라 하나의 흐름 안에서 함께 사용된다.

- 실행 (Go)

- 특정 위치에서 멈춤 (Break.Set)

- 현재 위치 확인 (Register.View)

- 변수 확인 (Var.Watch)

- 메모리 확인 (Data.List)

- 코드 흐름 분석 (Step / Next)

 

이 흐름이 익숙해지면 Trace32 디버깅이 훨씬 자연스러워진다.

 

정리

 

Trace32 명령어는 많지만, 실무에서 반복적으로 사용하는 것은 정해져 있다.

이 10개만 익숙해져도 대부분의 디버깅 상황을 처리할 수 있다.

 

많이 아는 것보다, 자주 쓰는 명령어를 정확히 아는 것이 중요하다.

반응형