I do not really expect setting a watch point on 'this' to be very useful, but the the error message is strange: Breakpoint 2, Foo::Foo (this=0xbfffee54, i=0) at ../simple/simple_test_app.cpp:335 335 b = 2 + s + t; (gdb) watch this Hardware watchpoint 3: this (gdb) watch -l this A syntax error in expression, near `const *) 0xbfffee40'. (gdb) watch -l this->a Hardware watchpoint 4: -location this->a (gdb) watch -l b Hardware watchpoint 5: -location b (the second item)