c++ - gdb "watch pointer "提供太多硬件观察点错误

标签 c++ pointers gdb

class Message{
    double *val
};

Message** val_msgs;
val_msgs = new Message*[120];
for(int i=0; i<120; i++)
    val_msgs[i]=new Message();

我正在使用 gdb 来观察 Message 数据结构中的一个变量

watch val_msgs[0]->val

但是,我得到了这个错误

(gdb) watch val_msgs[0]->val
Hardware watchpoint 2: this->val_msgs[0]->val
(gdb) c
Continuing.
pingCharmrun (ignored=0x7ffff73751c1) at machine.c:1151
1151    {
Current language:  auto; currently c
(gdb) c
Continuing.
Warning:
Could not insert hardware watchpoint 2.
Could not insert hardware breakpoints:
You may have requested too many hardware breakpoints/watchpoints.

如您所见,我只设置了 2 个观察点。 帮忙,好吗?

最佳答案

对上一个问题的回复可能会有所帮助:gdb problem setting hardware watchpoint/how to set software watchpoint

关于c++ - gdb "watch pointer "提供太多硬件观察点错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4702638/

相关文章:

c - 传递一个包含 NULL 的结构指针突然包含一个结构而不是 NULL

c++ - 在 C++ 中传递对象会出现 'invalid use of non-static member' 错误

c - 返回 libc 在 gdb 中有效,但单独运行时无效

c++ - nodejs C++ 共享对象

c++ - 是否分配给临时对象未定义行为的字段?

c++ - std::set `erase ( const key_type& x )` 是否以与 ` erase ( collection.find( x ) );` 相同的方式在 STL 中实现?

c++ - GDB核心转储: Recover argc argv values after crash

c++ - IContextMenu::QueryContextMenu 被调用,但 IContextMenu::InvokeCommand 没有

无法在新数组中指向或存储数组元素

ubuntu - 是否可以在 gdb 中更改反汇编中的立即数是否以十六进制与十进制显示?