Visual Studio 2008 ウオッチにCAtlListの中身表示 【チュートリアル】

Visual Studio 2005 ウオッチにCAutoPtrArrayの中身表示と同様にVisual Studio 2008のデバッグウィンドウのウオッチにCAtlListを展開する方法を紹介する。

書き換えるファイルautoexp.datについては、Visual Studio 2005/2008 CAtlArrayの中身表示を参照のこと。

CAtlList

CAtlListはATLで使用するリスト。シンプルな構造が好きなのでリストを使う時によく使っている(listやCList、.netだとArrayListにあたるのでしょうか)。さて、これを使っていてデバッグなどしようとすると次のように実際の見たいデータではなく、リスト構造を作るポインタやらなんやらばかりが表示されてしまう。

old_list.gif
 

autoexp.dat

ということで、autoexp.datは、Visual Studioのウォッチ展開フォーマットを記入するファイルだが、今回は以下の内容を追加してみた。

ATL::CAtlList<*>{
	children
	(
		#list
		(
			head : $e.m_pHead,
			size : $e.m_nElements,
			next : m_pNext
		) : $e.m_element
	)
	
	preview
	( 
		#( 
			"[", 
			$e.m_nElements,
			"](", 
			#list
			(
				head : $e.m_pHead,
				size : $e.m_nElements,
				next : m_pNext
			) : $e.m_element,
			")"
		)
	)
}

合ってるかどうかはよくわからないのだが、とりあえず下のように表示できるようになった。

new_list.gif
カテゴリー: チュートリアル   パーマリンク

コメントは受け付けていません。