2017-01-25 1 views
1

내 교과서는 다음과 같은 주장을한다 : 사용자가 프로그램의 버그를 의심프로그램을 디버깅하기 시작하면 프로그램이 주 메모리에서 2 차 메모리로 스왑됩니까?

경우, 그 또는 그녀가, 실행을 일시 중단 검토하고, 프로그램이나 데이터를 수정, 및 실행을 재개하여 프로그램을 디버깅 할 수 있습니다.

이 컨텍스트에서 일시 중단은 주 메모리와 보조 메모리로 스와핑하는 것을 의미합니다.

예를 들어, C/Python/Java 프로그램을 디버깅 할 때 프로그램이 그 때 주 메모리에서 스왑 되었습니까? 아니면 저자가 말하는 것을 오해하고 있습니까?

+0

C 프로그램을 디버깅 할 때, CPU에서 여전히 실행되고 있습니다. 즉, 어떤 일이 일어나고 있는지를 볼 수 있습니다. 따라서 '주 메모리'에 있습니다. –

+0

@TonyTannous 응답 해 주셔서 감사합니다. 그럼 교과서의 주장이 틀린거야? –

+0

그들이 생각한 것은 당신의 눈으로 디버깅해야한다는 것이 었습니다. 텍스트 편집기에서 열어 프로그램 검사를 시작하십시오. 디버거에는 없습니다. 아마 내가 틀렸어. 더 많은 응답을 기다려. –

답변

0

디버깅은 프로그램을 스왑 아웃하지 않습니다. 디버깅에서 "일시 중지"는 일반적으로 BREAKPOINT 명령을 스트림에 강제로 발생시킵니다. 그러면 운영 체제의 BREAKPOINT FAULT 처리기가 트리거됩니다. 디버거와 응용 프로그램 간의 실제 연결은 운영 체제에 따라 다릅니다.

프로그램이 보조 저장소로 스왑 된 경우 메모리 사용을 검사 할 방법이 없습니다.