搜尋

首頁  >  問答  >  主體

windows - visual C++ 中怎么查看容器中的内容


std::vector<Cstring> m_str;
std::map<int,CString> m_mapType;    
std::map<int,std::vector<FileInfo>* > m_mapWa;    

这样的变量初始化之后, 我怎么调试查看到每个元素的具体内容。有什么方式吗?
有具体的步骤,或是可以附上链接。

IDE 是VC6, 一些复杂的STL 调试的时候显示原始结构。都不知道怎么看,我在想有没有简单的办法可以查看,不然程序运行的时候就要用 printf 的方式了,有些麻烦。
变量是单列类中的复杂数据。 有好的方法吗? 如果用VS2013的话倒是很方便,支持复杂类型的查看。

PHP中文网PHP中文网2767 天前566

全部回覆(4)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-04-17 15:18:06

    VC6啊...說個題外的,新的VS都可以自己寫natvis檔案描述IDE如何展示物件

    回覆
    0
  • 高洛峰

    高洛峰2017-04-17 15:18:06

    使用一個迭代器,如要存取m_mapType中的內容:
    std::map::iterator it=m_mapType.begin();
    while(it!=m_mapType.end ()){

    cout<<(*it).first<<":"<<(*it).second<<endl;
    //map里面使用关键字与值组成的,组成一个pair对象,first与second分别是pair的关键字与值

    }

    回覆
    0
  • PHPz

    PHPz2017-04-17 15:18:06

    調試的時候追蹤或暫停執行的時候,直接指向那個變數就可以的。那個提示條可以展開,一層層的。

    回覆
    0
  • 黄舟

    黄舟2017-04-17 15:18:06

    看你的程式碼可能你還在用舊的VC6之類的編輯器
    這類老的編譯器對於一些複雜的stl容器支援不好,例如map
    如果你知道key,可以在watch裡面使用map[key]來一個一個查看map的值
    VS之後,IDE都是可以看到這些複雜資料結構的值了、

    回覆
    0
  • 取消回覆