WinDbg의 어셈블리 코드 디버깅(클래식)
WinDbg에서는 명령을 입력하거나 디스어셈블리 창을 사용하여 어셈블리 코드를 볼 수 있습니다.
디버거 명령 창
디버거 명령 창에서 u, ub, uu(Unassemble) 명령 중 하나를 입력하여 어셈블리 코드를 볼 수 있습니다.
Disasembly 창
디스어셈블리 창을 열거나 디스어셈블리 창으로 전환하려면 보기 메뉴에서 해제를 선택합니다. (Alt+7을 누르거나 도구 모음의 디스어셈블리 단추입니다. Alt+Shift+7은 디스어셈블리 창을 닫습니다.)
다음 스크린샷은 디스어셈블리 창의 예를 보여줍니다.
디버거는 메모리 섹션을 사용하고, 이진 컴퓨터 명령으로 해석한 다음, 디스어셈블하여 컴퓨터 명령의 어셈블리 언어 버전을 생성합니다. 결과 코드는 디스어셈블리 창에 표시됩니다.
디스어셈블리 창에서 다음을 수행할 수 있습니다.
다른 메모리 섹션을 디스어셈블하려면 오프셋 상자에 디스어셈블할 메모리의 주소를 입력합니다. (주소를 입력한 후에는 Enter 키를 누를 수 있지만 입력할 필요는 없습니다.) 주소를 완료하기 전에 디스어셈블리 창에 코드가 표시됩니다. 이 코드를 무시할 수 있습니다.
메모리의 다른 섹션을 보려면 이전 또는 다음 단추를 선택하거나 PAGE UP 또는 PAGE DOWN 키를 누릅니다. 이러한 명령은 각각 이전 또는 다음 메모리 섹션의 디스어셈블된 코드를 표시합니다. 오른쪽 화살표, 왼쪽 화살표, 위쪽 화살표 및 아래쪽 화살표 키를 누르면 창 내에서 탐색할 수 있습니다. 이러한 키를 사용하여 페이지에서 벗어나면 새 페이지가 나타납니다.
디스어셈블리 창에는 두 개의 단추가 포함된 도구 모음과 추가 명령이 있는 바로 가기 메뉴가 있습니다. 메뉴에 액세스하려면 제목 표시줄을 길게 누르거나 마우스 오른쪽 단추로 클릭하거나 창의 오른쪽 위 모서리 근처에 표시되는 아이콘을 선택합니다. 다음 목록에서는 메뉴 명령 중 일부에 대해 설명합니다.
현재 주소 로 이동하면 디스어셈블리 창에서 선택한 줄에 해당하는 원본 파일이 있는 원본 창이 열리고 이 줄이 강조 표시됩니다.
현재 명령 전에 디스어셈블하면 현재 줄이 디스어셈블리 창 중간에 배치됩니다. 이 명령은 기본 옵션입니다. 이 명령이 지워지면 현재 줄이 디스어셈블리 창의 맨 위에 표시되므로 역방향 디스어셈블리가 시간이 오래 걸릴 수 있으므로 시간이 절약됩니다.
현재 소스 줄의 강조 표시 지침은 현재 소스 줄 에 해당하는 모든 지침을 강조 표시합니다. 종종 단일 소스 줄은 여러 어셈블리 지침에 해당합니다. 코드가 최적화된 경우 이러한 어셈블리 지침이 연속되지 않을 수 있습니다. 이 명령을 사용하면 현재 소스 줄에서 어셈블된 모든 지침을 찾을 수 있습니다.
각 명령에 대한 소스 줄을 표시하면 각 어셈블리 명령에 해당하는 소스 줄 번호가 표시됩니다.
각 명령에 대한 원본 파일을 표시하면 각 어셈블리 명령에 해당하는 원본 파일 이름이 표시됩니다.
참고 항목
어셈블리 디버깅 및 관련 명령 및 어셈블리 표시에 대한 전체 설명에 대한 자세한 내용은 어셈블리 모드의 디버깅을 참조하세요.