CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): unixboy (세탁소주인)
날 짜 (Date): 2003년 3월  5일 수요일 오후 02시 52분 21초
제 목(Title): Re: 디버거 동작원리를 좀 알고 싶은데요..



Undocumented DOS에는 그렇게 나오는데요. 그래서 
Undocumented Windows를 야심을 가지고 샀더니 맨 
kernel API만 늘어놓고, 너한번 잘해봐라.. 식이더군요.
그래서, GDB를 한번 볼까 했거던요? 포기했습니다.
대강을 생각해보면, 아마 하나의 실행공간을 만들텐데, 
system call을 가로채는 것은 어떻게 구현이 되는지 
조금 의문이 갑니다. multi-thread인 경우에는 clone()
API를 뭘로 대체했는지.. 아님.. 실제로 운영체제에 
effect 를 그대로 주는 것이라면.. 흠.. gdb 를 
통해서 디버깅을 하다가 꿱~ 하고 죽어버리는 경우도 
생길것 같은데요... 아마도, system call이라는 것이
결국에는 glibc에 정의된 API 의 mapping list를 
통해서 가니까, gdb거 glibc와 항상 같이 컴파일되는
것으로 봐서는 결국엔 DOS시절의 INT 3과 같은 방식일
것 같기도 하고요.. 좌우간, 아리송입니다. 아리송해...
(옛날에 노래도 있지않나요? "아리송해~~ 어제한 그말이
아리송해~~~ 아하ㅏ하하~" - 이은하)
누군가 그러더군요. OS를 모두 알고싶다면... 디버거를
먼저봐라...그리고나서 한참을 영어로 씨부리는 바람에 
왜 그래야하냐고 질문을 못했습니다. --



@@ 나비처럼 날아서 벌처럼 도배하자 @@
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.