| [ 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을 계속 하는 닭질로 처리한다고 합니다. |