0

目前在 gdb 中,我可以打印包含结构类型的容器的内容,例如 std::list。但是,这种类型非常大,我只需要容器中每个项目中某些选定字段的值。因此,假设我有一个包含大约 100 个字段的结构,并且容器中有 3 个项目并且需要显示该type字段。所以:

(gdb) p items

会显示很多噪音,而

(gdb) p items[0].type

不适用于std::list,此外,使用 list 我可以轻松地仅显示第一项的值(其他需要大量带有类型转换的意大利面条,字段到达等),而我需要一些东西,比如:

(gdb-maybe) p {foreach i: items} i.type

它将像容器打印机通常那样显示每个项目,除了显示的值将仅包含该type字段。

有什么方法可以实现这样的事情,或者有什么方法可以使用脚本提供这样的解决方案?

4

0 回答 0