2012-06-15 3 views
1

gdb에서 중단 점을 사용하지 않고 로그 파일에 ex : 배열 값을 기록 할 수 있습니까?gdb에서 중단 점없이 파일에 변수 값을 기록 할 수 있습니까?

set logging on some_file 
b func 
command 1 
p print_clock_cycles  
c 
end 

목표 :

나는이 사용 gdb를 통해 파일로 클럭 사이클 값을 기록하십시오. 로깅은 무한하기 때문에 기존 메모리를 사용할 수 없습니다.

내 문제 : 레지스터를 읽음으로써 클럭 사이클을 인쇄하는 경우, 브레이크 포인트가없는 경우와 비교할 때 값이 다릅니다 (다른 이유로 인해 사용하지 않으려는 읽기 메모리 제약). gdb가 클록주기에 영향을주는 브레이크 포인트를 가지고있을 때 인쇄 할 시간이 더 필요하다고 가정하고 있습니다. ex jtag가 첨부 된 다른 디버거가 없습니다.

값을 기록 할 수있는 다른 방법이 있습니까?

감사합니다.

+0

현재 사용중인 OS는 무엇입니까? 어떤 언어를 사용하고 있습니까? (C, C++, Objective-C, 다른 것?) 파일에 쓰려고 무엇을 했습니까? – user1118321

+0

C (Tagged) 및 RTOS 사용. 32 비트 값을 파일에 쓰는 중. – kp11

답변

0

직렬 포트를 사용할 수 있습니까? 임베디드 플랫폼에서 개발할 때 디버깅 정보를 저장하는 좋은 방법입니다.

시리얼 포트를 관리하는 기능을 썼습니다. 내 "인쇄"기능은 문자열 데이터를 버퍼에 대기시키고 직렬 ISR은 데이터를 버퍼에서 배출합니다. 직렬 포트가 버퍼를 충분히 빠르게 소모 할 수있는 한 결코 채워지지 않습니다.

관련 문제