我可以使用std :: map <int,int =“”>?</int,>

时间:2014-07-21 23:31:27

标签: c++ debugging qt-creator stdmap

我的意思是,我想用

std::map<int, int> 

存储我的数据。键和值都是整数。

但是现在一旦我调试它,我无法跟踪密钥的内容和调试器的值。

我使用qt creator进行调试。

但是如果我将键切换到字符串意味着

std::map<std::string, int> 

调试器可以正常工作,我可以检查密钥和值的内容。

1 个答案:

答案 0 :(得分:4)

映射的键和值的类型是非排他性的,即:使用键上的类型不会在值中禁止该类型,反之亦然。造成问题的原因可能是qt-creator和您正在使用的调试器的问题。您可能想尝试这些:

  • 如果您正在使用MinGW 4.8,它默认使用较新的格式来存储调试信息。检查您是否使用gdb 7.5或更高版本。如果没有,请更新它。
  • 如果上述方法无效,请尝试更新Qt-Creator本身。已知较旧版本的GDB版本存在问题。

如果这些都不起作用,您可以尝试将MinGW版本降级到4.7并使用较小版本的gdb。不过,如果您必须以这种特定方式使用此类功能,我建议您这样做。