C++의 형식 지정자
조사식 창 또는 간략한 조사식 대화 상자에서 네이티브 코드를 디버깅할 때 형식 지정자를 사용하여 값이 표시되는 형식을 변경할 수 있습니다.
대부분의 형식 지정자는 네이티브 코드에만 사용되지만 Visual C#에는 제한된 형식 지정자 집합이 있습니다. 자세한 내용은 C#의 형식 지정자를 참조하십시오.
또한 직접 실행 창, 명령 창 및 소스 창에서도 형식 지정자를 사용할 수 있습니다. 이러한 창에서 식에 커서를 놓으면 결과가 DataTips에 나타납니다. DataTips 보기에는 형식 지정자에 맞는 DataTips가 표시됩니다.
예를 들어, nVar가 정수 변수이고 조사식 창에서 이 변수의 값이 0x0065로 표시된다고 가정합니다. 정수 대신 문자로 표시된 값을 보려면 이름 열에서 다음과 같이 변수 이름 뒤에 문자 형식 지정자 c를 넣으십시오.
nVar,c
그러면 값 열에 정수 값 0x0065 대신 문자 값 101 'e'가 표시됩니다.
배열의 요소나 개체의 멤버에 형식 지정자를 적용하려면 각 요소나 멤버에 직접 적용해야 합니다. 배열이나 개체 전체를 대상으로 적용할 수는 없습니다. 예를 들어, 배열 nArray의 처음 네 요소를 문자 형식으로 보려고 하는 경우, 조사식 창에 다음과 같은 식을 입력합니다.
nArray[0],c nArray[1],c nArray[2],c nArray[3],c
다음 표에서는 디버거에서 인식되는 형식 지정자에 대하여 설명합니다.
| 지정자 | 형식 | 식 | 표시되는 값 |
|---|---|---|---|
| d,i | 부호 있는 10진 정수 | 0xF000F065, d | -268373915 |
| u | 부호 없는 10진 정수 | 0x0065, u | 101 |
| o | 부호 없는 8진 정수 | 0xF065, o | 0170145 |
| x,X | 16진 정수 | 61541, x | 0x0000F065 |
| l,h | d, i, u, o, x, X에 대한 long 또는 short 접두사 | 00406042,hx | 0x0c22 |
| f | 부호 있는 부동 소수점 | (3./2.), f | 1.500000 |
| e | 부호 있는 과학적 표기법 | (3./2.), e | 1.500000e+000 |
| g | 부호 있는 부동 소수점 또는 부호 있는 과학적 표기법 중에서 짧은 형식 | (3./2.), g | 1.5 |
| c | 단일 문자 | 0x0065, c | 101 'e' |
| s | String | 0x0012fde8, s | "Hello world" |
| su | 유니코드 문자열 | 0x0012fde8, su | "Hello world" |
| hr | HRESULT 또는 Win32 오류 코드. 이제는 디버거가 자동으로 HRESULT를 디코딩하므로 이 지정자가 필요하지 않습니다. | 0x00000000L, hr | S_OK |
| wc | Window 클래스 플래그 | 0x00000040, wc | WC_DEFAULTCHAR |
| wm | Windows 메시지 번호 | 0x0010, wm | WM_CLOSE |
| ! | 원시 형식(모든 데이터 형식 뷰의 사용자 지정 내용 무시) | i ! | 4 |
다음 표에는 메모리 위치에 사용되는 형식 지정 기호가 있습니다. 메모리 위치 지정자를 위치로 평가되는 값이나 수식으로 사용할 수 있습니다.
| 기호 | 형식 | 식 | 표시되는 값 |
|---|---|---|---|
| ma | ASCII 문자 64개 | ptr, ma | 0x0012ffac .4...0...".0W&.......1W&.0.:W..1...."..1.JO&.1.2.."..1...0y....1 |
| m | 16바이트 16진수 뒤에 ASCII 문자 16개 | ptr, m | 0x0012ffac B3 34 CB 00 84 30 94 80 FF 22 8A 30 57 26 00 00 .4...0...".0W&.. |
| mb | 16바이트 16진수 뒤에 ASCII 문자 16개 | ptr, mb | 0x0012ffac B3 34 CB 00 84 30 94 80 FF 22 8A 30 57 26 00 00 .4...0...".0W&.. |
| mw | 단어 8개 | ptr, mw | 0x0012ffac 34B3 00CB 3084 8094 22FF 308A 2657 0000 |
| md | 더블워드 4개 | ptr, md | 0x0012ffac 00CB34B3 80943084 308A22FF 00002657 |
| mq | 쿼드워드 2개 | ptr, mq | 0x0012ffac 7ffdf00000000000 5f441a790012fdd4 |
| mu | 2바이트 유니코드 문자 | ptr, mu | 0x0012fc60 8478 77f4 ffff ffff 0000 0000 0000 0000 |
