这个错误是什么意思

What does this error mean?

本文关键字:意思 是什么 错误      更新时间:2023-10-16

我正在ROOT平台上编写c++代码。我得到以下错误:

*** Break *** segmentation violation
gdb not found, need it for stack trace
Root > Function main() busy flag cleared

我只是想知道这是什么意思

一般来说,"分段冲突"意味着您访问了一块没有分配给您的内存。通常是一只迷路的指针造成的。

其余部分是关于丢失gdb的一些特定于linux的消息(这将有助于理解问题)。

这通常意味着您已经写入(或可能读取)您没有权限的内存。要么是无效内存,要么(如果平台支持这种概念)它在你拥有的内存之外。

一个常见的原因是释放了一个指针,但又再次使用它。

Foo * pFoo = new Foo();
pFoo->Bar(); // should be fine.
delete pFoo; // pFoo now points to memory that may or may not still be an actual Foo.
pFoo->Bar(); // undefined behavior.