CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): dalgong (달공아저씨)
날 짜 (Date): 2003년 3월  6일 목요일 오전 08시 43분 25초
제 목(Title): Re: 디버거 동작원리를 좀 알고 싶은데요..



음냐. gdb internal manual을 보시면 설명이 나옵니다. 
H/W가 debugging을 지원하는 경우 
(H/W가 breakpoint에 해당하는 PC가 수행되면 exception등을 날리는 경우)
에는 이를 이용하고, 

그게 안 되는 경우에만 breakpoint에 있는  instruction을 
특정한 instruction ( divide by zero등등 exception을 발생시킬수 있는 짧은 코드)
등으로 덮어 쓴담에 다시 진행할 때 원래 instruction을 쓰는 방식을 쓴다고 합니다.
당연한 얘기지만 이 경우 rom에 있는 프로그램은 debugging을 못합니다. 

watchpoint도 역시 h/w가 지원하면 그걸 쓰고, 안되면 single step을 계속 하는 
닭질로 처리한다고 합니다. 
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.