[[TableOfContents]] = 파일 = Watch 창에서 표현되는 표현을 정의한 파일이다. (파일은 VC 디렉토리에서 검색을 하면 나온다.) 내가 만든 형태도 여기에서 일반형으로 표현이 가능하다. (수정은 좀해야한다.) = step into ? -_-;; = Visual C++ .net 에 있는 파일이다. {{{~cpp C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Packages\Debugger}}} 에 존재한다. 살표보면 MFC, ATL, STL의 기본 데이터형이 Watch 윈도우 상에서 표현되는 형태가 정의되어 있음을 알 수 있다. {{{~cpp ; AutoExp.Dat - templates for automaticially expanding data ; Copyright(c) 1997-2001 Microsoft Corporation. All Rights Reserved. ;--------------------------------------------------------------- ; ; While debugging, Data Tips and items in the Watch and Variable ; windows are automatically expanded to show their most important ; elements. The expansion follows the format given by the rules ; in this file. You can add rules for your types or change the ; predefined rules. ; ; For good examples, read the rules in this file. ; ; To find what the debugger considers the type of a variable to ; be, add it to the Watch window and look at the Type column. ; ; An AutoExpand rule is a line with the name of a type, an equals ; sign, and text with replaceable parts in angle brackets. The ; part in angle brackets names a member of the type and an ; optional Watch format specifier. ; ; AutoExpand rules use the following syntax. The equals sign (=), ; angle brackets (<>), and comma are taken literally. Square ; brackets ([]) indicate optional items. ; ; type=[text]... ; ; type Name of the type (may be followed by <*> for template ; types such as the ATL types listed below). ; ; text Any text.Usually the name of the member to display, ; or a shorthand name for the member. ; ; member Name of a member to display. ; ; format Watch format specifier. One of the following: ; ; Letter Description Sample Display ; ------ -------------------------- ------------ ------------- ; d,i Signed decimal integer 0xF000F065,d -268373915 ; u Unsigned decimal integer 0x0065,u 101 ; o Unsigned octal integer 0xF065,o 0170145 ; x,X Hexadecimal integer 61541,X 0X0000F065 ; l,h long or short prefix for 00406042,hx 0x0c22 ; d, i, u, o, x, X ; f Signed floating-point 3./2.,f 1.500000 ; e Signed scientific-notation 3./2.,e 1.500000e+000 ; g Shorter of e and f 3./2.,g 1.5 ; c Single character 0x0065,c 'e' ; s Zero-terminated string pVar,s "Hello world" ; su Unicode string pVar,su "Hello world" ; ; For details of other format specifiers see Help under: ; "format specifiers/watch variable" ; ; The special format <,t> specifies the name of the most-derived ; type of the object. This is especially useful with pointers or ; references to a base class. ; ; If there is no rule for a class, the base classes are checked for ; a matching rule. ; ; There are some special entries allowed in the AutoExpand section: ; $BUILTIN is used to display more complex types that need to do more ; than just show a member variable or two. ; $ADDIN allows external DLLs to be added to display even more complex ; types via the EE Add-in API. The first argument is the DLL name, the ; second argument is the name of the export from the DLL to use. For ; further information on this API see the sample called EEAddIn. ; [AutoExpand] ; from windef.h tagPOINT =x= y= tagRECT =top= bottom= left= right= ; from winuser.h tagMSG =msg= wp= lp= ; intrinsics __m64 = __m128=$BUILTIN(M128) __m128i=$BUILTIN(M128I) __m128d=$BUILTIN(M128D) ; from afxwin.h CDC =hDC= attrib= CPaintDC =<,t> hWnd= CPoint =x= y= CRect =top= bottom= left= right= CSize =cx= cy= CWnd =<,t> hWnd= CWinApp =<,t> CWinThread =<,t> h= proc= ; from afxcoll.h CPtrList =cnt= ; from afxstat_.h CProcessLocalObject =<,t> CThreadLocalObject =<,t> ; from afx.h CArchiveException =cause= CFile =hFile= name= CFileException =cause= OS Error=m_lOsError CMemFile =pos= size= CObject =<,t> CRuntimeClass = CStdioFile =FILE*= name= CTimeSpan =time= CTime =time= ; from afxcoll.h CByteArray =count= CStringList =count= ; same for all CXXXArray classes ; same for CXXXList ; same for CMapXXToXX ; various string classes from MFC & ATL ATL::CStringT<*> = CSimpleStringT<*>= ATL::CSimpleStringT<*>= _com_error= _bstr_t=m_wstr,su> (m_RefCount,u>) _com_ptr_t<*>= _LARGE_INTEGER= ATL::CComPtr<*>=

ATL::CComBSTR= ATL::CComQIPtr<*>=

tagVARIANT=$BUILTIN(VARIANT) VARIANT=$BUILTIN(VARIANT) _GUID=$BUILTIN(GUID) ; see EEAddIn sample for how to use these ;_SYSTEMTIME=$ADDIN(EEAddIn.dll,AddIn_SystemTime) ;_FILETIME=$ADDIN(EEAddIn.dll,AddIn_FileTime) ;ANSI C++ Standard Template library std::basic_string,std::allocator >=$BUILTIN(NSTDSTRING) std::basic_string,std::allocator >=$BUILTIN(WSTDSTRING) std::basic_string,std::allocator >=$BUILTIN(WSTDSTRING) std::map<*>=size=<_Mysize> std::vector<*>= first=<_First> last=<_Last> std::list<*> =size=<_Mysize> std::multimap<*>=size=<_Mysize> std::set<*> =size=<_Mysize> std::deque<*> =size=<_Mysize> std::queue<*> =size= std::priority_queue<*>= first= last= std::stack<*> =size= std::binder1st<*>= op= value= std::binder2nd<*>= op= value= std::pair<*> =first= second= std::less<*>=lessthan std::greater<*>=greaterthan ; This section lets you define your own errors for the HRESULT display. ; You need to list the error code in unsigned decimal, followed by the message. ; Changes will take effect the next time you redisplay the variable. [hresult] ;1234=my custom error code }}} ---- [DebuggingSeminar_2005]