Visual Studio 2005 ウオッチにCAutoPtrArrayの中身表示と同様にVisual Studio 2008のデバッグウィンドウのウオッチにCAtlListを展開する方法を紹介する。
書き換えるファイルautoexp.datについては、Visual Studio 2005/2008 CAtlArrayの中身表示を参照のこと。
CAtlList
CAtlListはATLで使用するリスト。シンプルな構造が好きなのでリストを使う時によく使っている(listやCList、.netだとArrayListにあたるのでしょうか)。さて、これを使っていてデバッグなどしようとすると次のように実際の見たいデータではなく、リスト構造を作るポインタやらなんやらばかりが表示されてしまう。
autoexp.dat
ということで、autoexp.datは、Visual Studioのウォッチ展開フォーマットを記入するファイルだが、今回は以下の内容を追加してみた。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
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, ")" ) ) } |
合ってるかどうかはよくわからないのだが、とりあえず下のように表示できるようになった。