WinDbg의 소스 코드 디버깅(클래식)
원본 경로
원본 경로는 C 및 C++ 원본 파일이 있는 디렉터리를 지정합니다. 디버거에서 소스 코드를 보는 방법에 대한 자세한 내용은 원본 경로를 참조하세요.
참고 회사 네트워크에 연결된 경우 원본 파일에 액세스하는 가장 효율적인 방법은 원본 서버를 사용하는 것입니다. 원본 경로 내에서 srv* 문자열을 사용하여 원본 서버를 사용할 수 있습니다. 원본 서버에 대한 자세한 내용은 원본 서버 사용을 참조하세요.
WinDbg에서 원본 경로를 제어하려면 다음 중 하나를 수행합니다.
파일 메뉴에서 원본 파일 경로를 선택하거나 Ctrl+P를 누릅니다.
.srcpath(원본 경로 설정) 명령을 사용합니다. 원본 서버를 사용하는 경우 .srcfix(원본 서버 사용) 가 약간 더 쉽습니다.
.lsrcpath(로컬 원본 경로 설정) 명령을 사용합니다. 원본 서버를 사용하는 경우 .lsrcfix(로컬 원본 서버 사용) 가 약간 더 쉽습니다.
디버거를 시작할 때 -srcpath 또는 -lsrcpath 명령줄 옵션을 사용합니다. WinDbg Command-Line 옵션을 참조하세요.
디버거를 시작하기 전에 _NT_SOURCE_PATH 환경 변수를 설정합니다.
원본 파일 열기 및 닫기
원본 파일을 직접 열거나 닫려면 다음 중 하나를 수행합니다.
파일 메뉴에서 소스 파일 열기를 선택하거나 Ctrl+O를 누릅니다. 소스 파일 열기 단추를 사용할 수도 있습니다(
참고 메뉴 또는 도구 모음 단추를 사용하여 원본 파일을 열면 해당 파일의 경로가 원본 경로에 자동으로 추가됩니다.
파일 메뉴에서 현재 창 닫기를 선택합니다.
원본 창의 모서리에서 닫기 단추를 선택합니다.
파일 메뉴에서 최근 파일을 선택하여 WinDbg에서 가장 최근에 연 네 개의 원본 파일 중 하나를 엽니다.
.open(오픈 소스 파일) 명령을 입력합니다.
lsf(원본 파일 로드 또는 언로드) 명령을 입력합니다.
WinDbg에서 원본 창에는 디버거에 로드된 원본 파일이 표시됩니다.
원본 창 열기
디버거는 새 소스 파일을 로드할 때 원본 창을 엽니다. 오픈 소스 창으로 복원하거나 전환하려면 창 메뉴로 이동하여 메뉴 아래쪽의 창 목록에서 선택합니다.
다음 스크린샷은 원본 창의 예를 보여줍니다.
각 원본 파일은 자체 원본 창에 있습니다. 각 원본 창의 제목은 원본 파일의 전체 경로입니다.
원본 창 사용
각 원본 창에는 하나의 원본 파일의 텍스트가 표시됩니다. 디버거에서 원본 파일을 편집할 수 없습니다. 글꼴 및 탭 설정을 변경하는 방법에 대한 자세한 내용은 텍스트 속성 변경을 참조하세요.
각 원본 창에는 추가 명령이 있는 바로 가기 메뉴가 있습니다. 메뉴에 액세스하려면 제목 표시줄을 길게 누르거나 마우스 오른쪽 단추로 클릭하거나 창의 오른쪽 위 모서리 근처에 표시되는 아이콘을 선택합니다. 다음 목록에서는 메뉴 명령 중 일부에 대해 설명합니다.
명령 포인터를 현재 줄로 설정 하면 명령 포인터의 값이 현재 줄에 해당하는 명령으로 변경됩니다. 이 명령은 편집 | 사용과 동일합니다. 현재 명령 명령을 설정 하거나 Ctrl+Shift+I를 누릅니다.
이 파일을 편집 하면 텍스트 편집기에서 원본 파일이 열립니다. 편집기는 WinDiff 편집기 레지스트리 정보 또는 WINDBG_INVOKE_EDITOR 환경 변수의 값에 의해 결정됩니다. 예를 들어 WINDBG_INVOKE_EDITOR 값이 다음과 같은 경우를 고려합니다.
c:\my\path\myeditor.exe -file %f -line %l
이 경우 Myeditor.exe 현재 소스 파일의 한 기반 줄 번호로 열립니다. %l 옵션은 줄 번호를 1 기반으로 읽어야 하며 %f는 현재 원본 파일을 사용해야 임을 나타냅니다. 다른 대체 가능성에는 줄 번호가 0부터 시작됨을 나타내는 %L과 현재 원본 파일을 사용해야 함을 나타낼 수 있는 %p가 있습니다.
선택 평가 는 C++ 식 계산기를 사용하여 현재 선택된 텍스트를 평가합니다. 결과는 디버거 명령 창에 나타납니다. 선택한 텍스트에 둘 이상의 줄이 포함된 경우 구문 오류가 발생합니다. 이 명령은 편집 | 사용과 동일합니다. 선택 명령을 평가 하거나, Ctrl+Shift+V를 누르거나, ?? (C++ 식 평가) 선택한 텍스트를 인수로 사용하여 명령을 실행합니다.
선택한 형식 표시는 선택한 개체의 데이터 형식을 표시합니다. 이 표시는 디버거 명령 창에 표시됩니다. 선택한 텍스트에 둘 이상의 개체가 포함된 경우 구문 오류 또는 기타 불규칙한 결과가 표시될 수 있습니다. 이 명령은 편집 | 사용과 동일합니다. 선택한 형식 명령을 표시 하거나 Ctrl+Shift+Y를 누릅니다.
선택할 메모리 창을 열면 선택한 식의 주소에서 시작하는 메모리를 표시하는 새 도킹된 메모리 창이 열립니다.
조사식 창에 선택 항목을 추가 하면 선택한 원본 토큰이 조사식 창에 추가됩니다.
현재 줄에서 디스어셈블 하면 현재 줄에 해당하는 명령이 디스어셈블리 창에 표시됩니다. 선택한 줄은 원본 창과 디스어셈블리 창에서 강조 표시되지만 이 명령은 표시에만 영향을 줍니다. 명령 포인터는 변경되지 않습니다. 이 명령을 선택하면 디스어셈블리 창이 닫히면 열립니다.
원본 언어를 선택하면 프로그래밍 언어 목록이 표시됩니다. 원본 파일을 생성하는 데 사용한 프로그래밍 언어를 선택한 다음 확인을 선택하여 현재 원본 창에 대한 기본 구문 강조 표시를 사용하도록 설정합니다. 없음>을 선택하여< 현재 원본 창에 대한 구문 강조 표시를 사용하지 않도록 설정합니다.
원본 창 색 및 가리키기 평가
디버거가 원본 파일 이름 확장명을 인식하면 원본 창에 특정 구문 요소가 색으로 표시됩니다. 색을 끄거나 변경하려면 다음을 수행합니다.
단일 창에서 구문 색을 끄려면 원본 창의 바로 가기 메뉴를 열고 원본 언어 선택을 선택한 다음 없음>을 선택합니다<.
모든 원본 창에 대해 구문 색을 끄려면 보기 메뉴에서 옵션을 선택합니다. 그런 다음 원본 언어 구문 분석 검사 상자의 선택 취소를 선택합니다.
구문 색을 변경하려면 보기 메뉴에서 옵션을 선택합니다. 그런 다음 색 영역에서 구문 요소를 선택하고 변경 단추를 선택하여 색을 변경합니다.
강조 표시에 사용되는 구문 분석 메서드는 원본 파일의 파일 확장명과 연결된 프로그래밍 언어에 따라 결정됩니다. 특정 파일 확장명과 연결된 프로그래밍 언어를 변경하려면 원본 언어용 파일 확장명 대화 상자를 사용합니다. 이 대화 상자를 열려면 보기 메뉴에서 원본 언어 파일 확장자를 선택합니다.
현재 프로그램 카운터를 나타내는 줄이 강조 표시됩니다. 중단점이 설정된 줄도 강조 표시됩니다.
원본 창을 선택한 다음 마우스를 사용하여 해당 창의 기호 위로 마우스를 가져가면 기호가 평가됩니다. 평가는 dt(표시 형식) 명령에 의해 생성된 것과 동일합니다. 이 평가를 비활성화하려면 보기 메뉴에서 옵션을 선택합니다. 그런 다음 가리키기 검사 확인란의 선택 취소를 선택합니다.
추가 정보
원본 디버깅 및 관련 명령에 대한 자세한 내용은 소스 모드에서 디버깅을 참조하세요.