티스토리 뷰

반응형

이 단축키들은 현재 활성화된 창에 무관하게 올리 디버그 전체에서 듣는 키들이다.


Ctrl+F2 - 프로그램 리셋. 디버그 되는 프로그램을 다시 시작한다. 활성화된 프로그램이 없다면 history list의 첫 번째 프로그램을 다시 시작한다. 이 프로그램 리셋은 메모리 브레이크포인터와 하드웨어 브레이크포인터를 제거한다.


Alt+F2 - 닫기. 디버그 되는 프로그램을 닫는다. 프로그램이 현재 활성 상태라면 프로그램을 닫을 것인지를 확인하는 질문을 받는다.


F3 - 열기. 실행 파일을 선택하고 인자들을 명세할 수 있는 "Open 32-bit .EXE file" 다이얼로그 박스를 디스플레이 해준다.


Alt+F5 - OllyDbg를 topmost 윈도우로 만든다. 디버그 되는 프로그램이 topmost 윈도우(보통 특정 종류의 모달 메시지나 다이얼로그)를 디스플레이 하는 동안 브레이크포인트에서 정지하면 이 윈도우가 OllyDbg의 일부분을 덮게 되는데 실행을 재개하지 않고서는 이 윈도우를 이동하거나 최소화할 수 없다. OllyDbg를 활성화하고(예컨대 작업 줄에서) Alt+F5를 누르면 OllyDbg가 topmost 윈도우가 되어 디버그 되는 프로그램 위에 자리잡게 될 것이다. Alt+F5를 다시 한번 누르면 OllyDbg가 정상(topmost가 아닌) 윈도우가 된다. topmost 상태는 디버깅 세션 사이에서 보존된다. 실제로 OllyDbg 상태는 상태 바에 표시된다.


F7 - step into. 다음의 단일 명령을 실행한다. 다음 명령이 함수 호출이라면 호출 대상 위치에서 멈춘다. 다음 명령이 REP 명령 군이라면 그 명령을 한 cycle 실행해준다.


Shift+F7 - F7과 동일하지만 디버그 되는 프로그램이 몇몇 예외로 인해 정지되었을 때 디버거는 예외를 디버그 되는 프로그램에 명세 된 핸들러로 먼저 전달하려고 시도한다(Ignore memory access violations in Kernel32 참조).


Ctrl+F7 - animate into. 명령들을 하나씩 실행하며 또한 함수 호출로 진입한다(F7을 누르는 것과 비슷하지만 더 빠르다). 애니메이션은 여러분이 다른 step  명령이나 진행 명령을 누르거나 또는 프로그램이 활성화된 브레이크포인트에 도달하거나 특정 예외가 발생할 때 정지한다. 다음 step이 실행될 때마다 OllyDbg는 모든 윈도우들을 다시 그린다. 애니메이션 속도를 올리려면 이용하지 않는 모든 윈도우들을 닫고 남은 윈도우들의 크기를 줄인다. 애니메이션을 정지하려면 Esc 키를 누른다.


F8 - step over. 다음의 단일 명령을 실행한다. 다음 명령이 함수 호출이라면 호출되는 함수를 한번에 실행한다(함수가 브레이크포인트를 포함하거나 예외를 발생하지 않는 한). 다음 명령이 REP 명령 군이라면 모든 cycle을 실행하고 다음 명령에 멈춘다.


Shift+F8 - F8과 동일하지만 디버그 되는 프로그램이 몇몇 예외로 인해 정지되었을 때 디버거는 예외를 디버그 되는 프로그램에 명세 된 핸들러로 먼저 전달하려고 시도한다(Ignore memory access violations in Kernel32 참조).


Ctrl+F8 - animate over. 명령들을 하나씩 실행하며 함수 호출로는 진입하지 않는다(F8을 누르는 것과 비슷하지만 더 빠르다). 애니메이션은 여러분이 다른 step 명령이나 진행 명령을 누르거나 또는 프로그램이 활성화된 브레이크포인트에 도달하거나 특정 예외가 발생할 때 정지한다. 다음 step이 실행될 때마다 OllyDbg는 모든 윈도우들을 다시 그린다. 애니메이션 속도를 올리려면 이용하지 않는 모든 윈도우들을 닫고 남은 윈도우들의 크기를 줄인다. 애니메이션을 정지하려면 Esc 키를 누른다.


F9 - 프로그램 진행을 계속한다.


Shift+F9 - F9와 동일하지만 디버그 되는 프로그램이 몇몇 예외로 인해 정지되었을 때 디버거는 예외를 디버그 되는 프로그램에 명세 된 핸들러로 먼저 전달하려고 시도한다(Ignore memory access violations in Kernel32 참조).


Ctrl+F9 - execute till return. 함수 호출에는 진입하지 않고 CPU 윈도우를 갱신하지 않는 상태로 다음 코드로 return 명령을 만날 때까지 trace 한다. 프로그램이 하나씩 실행되기 때문에 상당한 시간이 걸릴 수도 있다. tracing을 멈추려면 Esc 키를 누른다.


Alt+F9 - execute till user code. 함수 호출에는 진입하지 않고 CPU 윈도우를 갱신하지 않는 상태로 다음 명령이 시스템 디렉터리에 존재하지 않는 모듈에 속할 때 정지한다. 프로그램이 하나씩 실행되므로 상당한 시간이 걸릴 수도 있다. tracing을 멈추려면 Esc 키를 누른다.


Ctrl+F11 - run trace into. 함수 호출로 진입하면서 명령을 하나씩 실행하고 레지스터들의 내용을 run trace 데이터에 추가한다. run trace는 CPU 윈도우를 animate 하지 않는다(CPU 윈도우의 커서 위치를 따라가지 않는다는 의미. 화면 변화 없음).


F12 - 디버그 되는 프로그램의 모든 쓰레드들을 보류하며 프로그램 실행을 정지한다. 쓰레드들을 수동으로 재개하기보다는 보통의 실행 재개 키나 메뉴 아이템(F9 같은)을 이용하는 편이 좋다.


Ctrl+F12 - run trace over. 함수 호출로 진입하지 않으면서 명령을 하나씩 실행하고 레지스터들의 내용을 run trace 데이터에 추가한다. run trace는 CPU 윈도우를 animate 하지 않는다(CPU 윈도우의 커서 위치를 따라가지 않는다는 의미. 화면 변화 없음)..


Esc - 애니메이션이나 tracing이 활성 상태면 애니메이션이나 tracing을 정지한다. CPU가 trace 데이터를 디스플레이 하면 실제 데이터를 보여준다.


Alt+B - Breakpoints 윈도우를 열거나 복원한다. 여기에서는 브레이크포인트들을 편집하거나 삭제하거나 따라갈 수 있다.


Alt+C - CPU 윈도우를 열거나 복원한다.


Alt+E - 모듈들의 리스트를 열거나 복원한다.


Alt+K - Call stack 윈도우를 열거나 복원한다.


Alt+L - Log 윈도우를 열거나 복원한다.


Alt+M - Memory 윈도우를 열거나 복원한다.


Alt+O - 옵션 다이얼로그를 연다.


Ctrl+P - Patches 윈도우를 연다.


Ctrl+T - Pause run trace 다이얼로그를 연다.


Alt+X - OllyDbg를 종료한다.


대부분의 윈도우는 아래의 키보드 명령들을 이해한다.


Alt+F3 - 활성 윈도우를 닫는다.


Ctrl+F4 - 활성 윈도우를 닫는다.


F5 - 활성 윈도우를 최대화하거나 정상 크기로 복원한다.


F6 - 다음 윈도우를 활성화한다.


Shift+F6 - 이전 윈도우를 활성화한다.


F10 - 활성 윈도우 또는 창과 연관된 팝업 메뉴를 연다.


LeftArrow - 내용을 한 문자 왼쪽으로 shift 한다.


Ctrl+LeftArrow - 내용을 한 칼럼 왼쪽으로 shift 한다.


RightArrow - 내용을 한 문자 오른쪽으로 shift 한다.


Ctrl+RightArrow - 내용을 한 칼럼 오른쪽으로 shift 한다.

댓글