Dear devs,
I'm reporting a ugly behavior (IMO) of the new debugger interface (I don't remember if I met the same issue with the old interface). I would say it's a bug...
I was debugging a code using a vector of double (20k element) and watching the array I've got two different behavior.
I the first case, the working one, the debugger log is saying
> whatis &x
type = vector *
>>>>>>cb_gdb:
> output x
{
<_Vector_base> = {
_M_impl = {
<allocator> = {
<new_allocator> = {<No data fields>}, <No data fields>},
members of _Vector_base::_Vector_impl:
_M_start = 0x1204d88,
_M_finish = 0x122be80,
_M_end_of_storage = 0x1244d88
}
}, <No data fields>}>>>>>>cb_gdb:
> cont
and everything works right, I'm able to see the popup window and to watch the array in the watch window.
In the second case I've got
> whatis &x
type = std::vector<double, std::allocator<double> > *
>>>>>>cb_gdb:
> pvector x
elem[0]: $1 = 0.97340000000000004
elem[1]: $2 = 1.0048000000000001
elem[2]: $3 = 1.0362
elem[3]: $4 = 1.0676000000000001
.
.
.
The output log from the debugger is listing all the elements, the cpu was going to 100% and CB seems frozen.
In both case x is a local std::vector<double>. The only difference is that the first 'x' belongs to the main program I was debugging, the second 'x' belongs to a method of a class contained in a static library I linked to the program.
Because it happens to put the cursor over a such variable, just moving the mouse, in some case I've got
the CB frozen even if I had't the intention to debug the vector.
This is ugly
Hope this helps.
Max