http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59170
Bug ID: 59170 Summary: pretty printers: end iterator invalid pointer Product: gcc Version: 4.8.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: debug Assignee: unassigned at gcc dot gnu.org Reporter: jan.kratochvil at redhat dot com CC: pmuldoon at redhat dot com, tromey at redhat dot com Target: x86_64-unknown-linux-gnu end iterator points nowhere, it must not be dereferenced by GDB. (gdb) l 1 #include <vector> 2 int main() { 3 std::vector<int> vec; 4 vec.push_back(1); 5 std::vector<int>::iterator begin=vec.begin(); 6 std::vector<int>::iterator end=vec.end(); 7 return 0; 8 } (gdb) b 7 (gdb) r (gdb) p begin $2 = 1 (gdb) p end $1 = 215 ^^^ random value, and primarily it is not clear it is the end iterator. And a different Bug: Couldn't it rather show position in the container for std::random_access_iterator_tag iterators? That would be more useful.