0

现在,在调试模式下,我有一个包含 100 个元素的 std::vector vec,我很想知道是否可以同时编辑这 100 个元素,例如,将它们全部设为 1。

我必须这样做的场景:我的项目很大,大约有 14 万行代码。每次我构建它们时,我至少要花 30 分钟。我的项目由静态库和一个 EXE 组成。

最后,我要问的问题是 VC++ 调试模式:批量编辑 std::vector 值?

*所以,不要给我关于我的项目的建议。*

任何人都可以帮助我吗?

更新:我的意思是在 Watch 窗口中编辑它的值。不要提及我的项目和构建时间。

4

2 回答 2

1

恐怕无法使用 Watch 窗口的 UI。我可能会建议将调试代码添加到您的项目中,例如

  static int fill_value = 1;
  std::fill(vec.begin(), vec.end(), fill_value);

std::fill您应该在调用上设置断点。当断点被命中时,您可以fill_value在 Watch 窗口中进行修改。恢复执行后,向量被初始化为您需要的值。

如果您需要更复杂的初始化,您可以考虑从文件中读取向量的内容。

于 2013-06-05T10:05:40.623 回答
0

在监视窗口中打开 vec,并通过键盘宏(例如AutoHotKey )多次发送键“{F2}value{Enter}” ,然后更改值。

于 2013-06-05T11:05:15.283 回答