<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=DebuggingSeminar_2005%2FAutoExp.dat</id>
	<title>DebuggingSeminar 2005/AutoExp.dat - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=DebuggingSeminar_2005%2FAutoExp.dat"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=DebuggingSeminar_2005/AutoExp.dat&amp;action=history"/>
	<updated>2026-05-15T01:32:19Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=DebuggingSeminar_2005/AutoExp.dat&amp;diff=31182&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:23, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=DebuggingSeminar_2005/AutoExp.dat&amp;diff=31182&amp;oldid=prev"/>
		<updated>2021-02-07T05:23:06Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__TOC__&lt;br /&gt;
= 파일 =&lt;br /&gt;
Watch 창에서 표현되는 표현을 정의한 파일이다. (파일은 VC 디렉토리에서 검색을 하면 나온다.)&lt;br /&gt;
내가 만든 형태도 여기에서 일반형으로 표현이 가능하다. (수정은 좀해야한다.)&lt;br /&gt;
&lt;br /&gt;
= step into ? -_-;; =&lt;br /&gt;
Visual C++ .net 에 있는 파일이다. &lt;br /&gt;
 ~cpp C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Packages\Debugger&lt;br /&gt;
에 존재한다.&lt;br /&gt;
살표보면 MFC, ATL, STL의 기본 데이터형이 Watch 윈도우 상에서 표현되는 형태가 정의되어 있음을 알 수 있다.&lt;br /&gt;
 ; AutoExp.Dat - templates for automaticially expanding data&lt;br /&gt;
 ; Copyright(c) 1997-2001 Microsoft Corporation. All Rights Reserved.&lt;br /&gt;
 ;---------------------------------------------------------------&lt;br /&gt;
 ;&lt;br /&gt;
 ; While debugging, Data Tips and items in the Watch and Variable&lt;br /&gt;
 ; windows are automatically expanded to show their most important&lt;br /&gt;
 ; elements. The expansion follows the format given by the rules&lt;br /&gt;
 ; in this file. You can add rules for your types or change the&lt;br /&gt;
 ; predefined rules.&lt;br /&gt;
 ;&lt;br /&gt;
 ; For good examples, read the rules in this file.&lt;br /&gt;
 ;&lt;br /&gt;
 ; To find what the debugger considers the type of a variable to&lt;br /&gt;
 ; be, add it to the Watch window and look at the Type column.&lt;br /&gt;
 ;&lt;br /&gt;
 ; An AutoExpand rule is a line with the name of a type, an equals &lt;br /&gt;
 ; sign, and text with replaceable parts in angle brackets. The &lt;br /&gt;
 ; part in angle brackets names a member of the type and an &lt;br /&gt;
 ; optional Watch format specifier.&lt;br /&gt;
 ;&lt;br /&gt;
 ; AutoExpand rules use the following syntax. The equals sign (=), &lt;br /&gt;
 ; angle brackets (&amp;amp;lt;&amp;amp;gt;), and comma are taken literally. Square&lt;br /&gt;
 ; brackets ([]) indicate optional items.&lt;br /&gt;
 ;&lt;br /&gt;
 ; type=[text]&amp;amp;lt;member[,format]&amp;amp;gt;...&lt;br /&gt;
 ;&lt;br /&gt;
 ; type      Name of the type (may be followed by &amp;amp;lt;*&amp;amp;gt; for template&lt;br /&gt;
 ;           types such as the ATL types listed below).&lt;br /&gt;
 ;&lt;br /&gt;
 ; text      Any text.Usually the name of the member to display, &lt;br /&gt;
 ;           or a shorthand name for the member.&lt;br /&gt;
 ;&lt;br /&gt;
 ; member    Name of a member to display.&lt;br /&gt;
 ;&lt;br /&gt;
 ; format    Watch format specifier. One of the following:&lt;br /&gt;
 ;&lt;br /&gt;
 ;   Letter  Description                 Sample         Display&lt;br /&gt;
 ;   ------  --------------------------  ------------   -------------&lt;br /&gt;
 ;   d,i     Signed decimal integer      0xF000F065,d   -268373915&lt;br /&gt;
 ;   u       Unsigned decimal integer    0x0065,u       101&lt;br /&gt;
 ;   o       Unsigned octal integer      0xF065,o       0170145&lt;br /&gt;
 ;   x,X     Hexadecimal integer         61541,X        0X0000F065&lt;br /&gt;
 ;   l,h     long or short prefix for    00406042,hx    0x0c22&lt;br /&gt;
 ;             d, i, u, o, x, X&lt;br /&gt;
 ;   f       Signed floating-point       3./2.,f        1.500000&lt;br /&gt;
 ;   e       Signed scientific-notation  3./2.,e        1.500000e+000&lt;br /&gt;
 ;   g       Shorter of e and f          3./2.,g        1.5&lt;br /&gt;
 ;   c       Single character            0x0065,c       &amp;#039;e&amp;#039;&lt;br /&gt;
 ;   s       Zero-terminated string      pVar,s         &amp;quot;Hello world&amp;quot;&lt;br /&gt;
 ;   su      Unicode string              pVar,su        &amp;quot;Hello world&amp;quot;&lt;br /&gt;
 ;&lt;br /&gt;
 ; For details of other format specifiers see Help under:&lt;br /&gt;
 ; &amp;quot;format specifiers/watch variable&amp;quot;&lt;br /&gt;
 ;&lt;br /&gt;
 ; The special format &amp;amp;lt;,t&amp;amp;gt; specifies the name of the most-derived &lt;br /&gt;
 ; type of the object. This is especially useful with pointers or&lt;br /&gt;
 ; references to a base class.&lt;br /&gt;
 ;&lt;br /&gt;
 ; If there is no rule for a class, the base classes are checked for&lt;br /&gt;
 ; a matching rule.&lt;br /&gt;
 ;&lt;br /&gt;
 ; There are some special entries allowed in the AutoExpand section:&lt;br /&gt;
 ; $BUILTIN is used to display more complex types that need to do more&lt;br /&gt;
 ; than just show a member variable or two.&lt;br /&gt;
 ; $ADDIN allows external DLLs to be added to display even more complex&lt;br /&gt;
 ; types via the EE Add-in API. The first argument is the DLL name, the&lt;br /&gt;
 ; second argument is the name of the export from the DLL to use. For &lt;br /&gt;
 ; further information on this API see the sample called EEAddIn.&lt;br /&gt;
 ;&lt;br /&gt;
 &lt;br /&gt;
 [AutoExpand]&lt;br /&gt;
 &lt;br /&gt;
 ; from windef.h&lt;br /&gt;
 tagPOINT =x=&amp;amp;lt;x&amp;amp;gt; y=&amp;amp;lt;y&amp;amp;gt;&lt;br /&gt;
 tagRECT =top=&amp;amp;lt;top&amp;amp;gt; bottom=&amp;amp;lt;bottom&amp;amp;gt; left=&amp;amp;lt;left&amp;amp;gt; right=&amp;amp;lt;right&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 ; from winuser.h&lt;br /&gt;
 tagMSG =msg=&amp;amp;lt;message,x&amp;amp;gt; wp=&amp;amp;lt;wParam,x&amp;amp;gt; lp=&amp;amp;lt;lParam,x&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 ; intrinsics&lt;br /&gt;
 __m64 =&amp;amp;lt;m64_i64,x&amp;amp;gt;&lt;br /&gt;
 __m128=$BUILTIN(M128)&lt;br /&gt;
 __m128i=$BUILTIN(M128I)&lt;br /&gt;
 __m128d=$BUILTIN(M128D)&lt;br /&gt;
 &lt;br /&gt;
 ; from afxwin.h&lt;br /&gt;
 CDC =hDC=&amp;amp;lt;m_hDC&amp;amp;gt; attrib=&amp;amp;lt;m_hAttribDC&amp;amp;gt;&lt;br /&gt;
 CPaintDC =&amp;amp;lt;,t&amp;amp;gt; hWnd=&amp;amp;lt;m_hWnd&amp;amp;gt;&lt;br /&gt;
 CPoint =x=&amp;amp;lt;x&amp;amp;gt; y=&amp;amp;lt;y&amp;amp;gt;&lt;br /&gt;
 CRect =top=&amp;amp;lt;top&amp;amp;gt; bottom=&amp;amp;lt;bottom&amp;amp;gt; left=&amp;amp;lt;left&amp;amp;gt; right=&amp;amp;lt;right&amp;amp;gt;&lt;br /&gt;
 CSize =cx=&amp;amp;lt;cx&amp;amp;gt; cy=&amp;amp;lt;cy&amp;amp;gt;&lt;br /&gt;
 CWnd =&amp;amp;lt;,t&amp;amp;gt; hWnd=&amp;amp;lt;m_hWnd&amp;amp;gt;&lt;br /&gt;
 CWinApp =&amp;amp;lt;,t&amp;amp;gt; &amp;amp;lt;m_pszAppName,s&amp;amp;gt;&lt;br /&gt;
 CWinThread =&amp;amp;lt;,t&amp;amp;gt; h=&amp;amp;lt;m_hThread&amp;amp;gt; proc=&amp;amp;lt;m_pfnThreadProc&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 ; from afxcoll.h&lt;br /&gt;
 CPtrList =cnt=&amp;amp;lt;m_nCount&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 ; from afxstat_.h&lt;br /&gt;
 CProcessLocalObject =&amp;amp;lt;,t&amp;amp;gt;&lt;br /&gt;
 CThreadLocalObject =&amp;amp;lt;,t&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 ; from afx.h&lt;br /&gt;
 CArchiveException =cause=&amp;amp;lt;m_cause&amp;amp;gt;&lt;br /&gt;
 CFile =hFile=&amp;amp;lt;m_hFile&amp;amp;gt; name=&amp;amp;lt;m_strFileName.m_pchData,s&amp;amp;gt;&lt;br /&gt;
 CFileException =cause=&amp;amp;lt;m_cause&amp;amp;gt; OS Error=m_lOsError&lt;br /&gt;
 CMemFile =pos=&amp;amp;lt;m_nPosition&amp;amp;gt; size=&amp;amp;lt;m_nFileSize&amp;amp;gt;&lt;br /&gt;
 CObject =&amp;amp;lt;,t&amp;amp;gt;&lt;br /&gt;
 CRuntimeClass =&amp;amp;lt;m_lpszClassName,s&amp;amp;gt;&lt;br /&gt;
 CStdioFile =FILE*=&amp;amp;lt;m_pStream&amp;amp;gt; name=&amp;amp;lt;m_strFilename.m_pchData,s&amp;amp;gt;&lt;br /&gt;
 CTimeSpan =time=&amp;amp;lt;m_time&amp;amp;gt;&lt;br /&gt;
 CTime =time=&amp;amp;lt;m_time&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 ; from afxcoll.h&lt;br /&gt;
 CByteArray =count=&amp;amp;lt;m_nCount&amp;amp;gt;&lt;br /&gt;
 CStringList =count=&amp;amp;lt;m_nCount&amp;amp;gt;&lt;br /&gt;
 ; same for all CXXXArray classes&lt;br /&gt;
 ; same for CXXXList&lt;br /&gt;
 ; same for CMapXXToXX&lt;br /&gt;
 &lt;br /&gt;
 ; various string classes from MFC &amp;amp;amp; ATL&lt;br /&gt;
 ATL::CStringT&amp;amp;lt;*&amp;amp;gt; =&amp;amp;lt;m_pszData&amp;amp;gt;&lt;br /&gt;
 CSimpleStringT&amp;amp;lt;*&amp;amp;gt;=&amp;amp;lt;m_pszData&amp;amp;gt;&lt;br /&gt;
 ATL::CSimpleStringT&amp;amp;lt;*&amp;amp;gt;=&amp;amp;lt;m_pszData&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 _com_error=&amp;amp;lt;m_hresult,hr&amp;amp;gt;&lt;br /&gt;
 _bstr_t=&amp;amp;lt;m_Data-&amp;amp;gt;m_wstr,su&amp;amp;gt; (&amp;amp;lt;m_Data-&amp;amp;gt;m_RefCount,u&amp;amp;gt;)&lt;br /&gt;
 _com_ptr_t&amp;amp;lt;*&amp;amp;gt;=&amp;amp;lt;m_pInterface&amp;amp;gt;&lt;br /&gt;
 _LARGE_INTEGER=&amp;amp;lt;QuadPart&amp;amp;gt;&lt;br /&gt;
 ATL::CComPtr&amp;amp;lt;*&amp;amp;gt;=&amp;amp;lt;p&amp;amp;gt;&lt;br /&gt;
 ATL::CComBSTR=&amp;amp;lt;m_str,su&amp;amp;gt;&lt;br /&gt;
 ATL::CComQIPtr&amp;amp;lt;*&amp;amp;gt;=&amp;amp;lt;p&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 tagVARIANT=$BUILTIN(VARIANT)&lt;br /&gt;
 VARIANT=$BUILTIN(VARIANT)&lt;br /&gt;
 _GUID=$BUILTIN(GUID)&lt;br /&gt;
 &lt;br /&gt;
 ; see EEAddIn sample for how to use these&lt;br /&gt;
 ;_SYSTEMTIME=$ADDIN(EEAddIn.dll,AddIn_SystemTime)&lt;br /&gt;
 ;_FILETIME=$ADDIN(EEAddIn.dll,AddIn_FileTime)&lt;br /&gt;
 &lt;br /&gt;
 ;ANSI C++ Standard Template library&lt;br /&gt;
 std::basic_string&amp;amp;lt;char,std::char_traits&amp;amp;lt;char&amp;amp;gt;,std::allocator&amp;amp;lt;char&amp;amp;gt; &amp;amp;gt;=$BUILTIN(NSTDSTRING)&lt;br /&gt;
 std::basic_string&amp;amp;lt;unsigned short,std::char_traits&amp;amp;lt;unsigned short&amp;amp;gt;,std::allocator&amp;amp;lt;unsigned short&amp;amp;gt; &amp;amp;gt;=$BUILTIN(WSTDSTRING)&lt;br /&gt;
 std::basic_string&amp;amp;lt;wchar_t,std::char_traits&amp;amp;lt;wchar_t&amp;amp;gt;,std::allocator&amp;amp;lt;wchar_t&amp;amp;gt; &amp;amp;gt;=$BUILTIN(WSTDSTRING)&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 std::map&amp;amp;lt;*&amp;amp;gt;=size=&amp;amp;lt;_Mysize&amp;amp;gt;&lt;br /&gt;
 std::vector&amp;amp;lt;*&amp;amp;gt;= first=&amp;amp;lt;_First&amp;amp;gt; last=&amp;amp;lt;_Last&amp;amp;gt;&lt;br /&gt;
 std::list&amp;amp;lt;*&amp;amp;gt; =size=&amp;amp;lt;_Mysize&amp;amp;gt;&lt;br /&gt;
 std::multimap&amp;amp;lt;*&amp;amp;gt;=size=&amp;amp;lt;_Mysize&amp;amp;gt;&lt;br /&gt;
 std::set&amp;amp;lt;*&amp;amp;gt; =size=&amp;amp;lt;_Mysize&amp;amp;gt;&lt;br /&gt;
 std::deque&amp;amp;lt;*&amp;amp;gt; =size=&amp;amp;lt;_Mysize&amp;amp;gt;&lt;br /&gt;
 std::queue&amp;amp;lt;*&amp;amp;gt; =size=&amp;amp;lt;c._Mysize&amp;amp;gt;&lt;br /&gt;
 std::priority_queue&amp;amp;lt;*&amp;amp;gt;= first=&amp;amp;lt;c._First&amp;amp;gt; last=&amp;amp;lt;c._Last&amp;amp;gt;&lt;br /&gt;
 std::stack&amp;amp;lt;*&amp;amp;gt; =size=&amp;amp;lt;c._Mysize&amp;amp;gt;&lt;br /&gt;
 std::binder1st&amp;amp;lt;*&amp;amp;gt;= op=&amp;amp;lt;op&amp;amp;gt; value=&amp;amp;lt;value&amp;amp;gt;&lt;br /&gt;
 std::binder2nd&amp;amp;lt;*&amp;amp;gt;= op=&amp;amp;lt;op&amp;amp;gt; value=&amp;amp;lt;value&amp;amp;gt;&lt;br /&gt;
 std::pair&amp;amp;lt;*&amp;amp;gt; =first=&amp;amp;lt;first&amp;amp;gt; second=&amp;amp;lt;second&amp;amp;gt;&lt;br /&gt;
 std::less&amp;amp;lt;*&amp;amp;gt;=lessthan&lt;br /&gt;
 std::greater&amp;amp;lt;*&amp;amp;gt;=greaterthan&lt;br /&gt;
 &lt;br /&gt;
 ; This section lets you define your own errors for the HRESULT display.&lt;br /&gt;
 ; You need to list the error code in unsigned decimal, followed by the message.&lt;br /&gt;
 ; Changes will take effect the next time you redisplay the variable.&lt;br /&gt;
 [hresult]&lt;br /&gt;
 ;1234=my custom error code&lt;br /&gt;
----&lt;br /&gt;
[[DebuggingSeminar_2005]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>