崩溃"vtable for __cxxabiv1::__class_type_info ()"意思?
Crash at "vtable for __cxxabiv1::__class_type_info ()" mean?
当我尝试运行一个应用程序时,它指向这一行:在"vtable for __cxxabiv1::__class_type_info()"时崩溃
这种崩溃并不总是发生,但有时会发生。我没有使用任何动态库。知道这坠机意味着什么吗?这可能是记忆损坏吗?
类布局看起来像这样:-Base有2个派生类Derived1和Derived2(以及许多其他派生类)。但是在这个场景中,我们只对Derived1和Derived2感兴趣。
Base有虚函数f1()和f2()。这些不是纯虚函数,有一个基本的实现,但它们在Derived1和Derived2
被覆盖在Derived2中,我有一个指向Derived1对象的指针
在一个Derived2::f2()我调用Derived1_ptr->f1()。这就是我崩溃的原因。
Derived1和Derived2在不同的库中
Crash at
vtable for __cxxabiv1::__class_type_info ()
最可能的原因是:您正在使用悬空指针,并且vtable
已被垃圾覆盖。
这个崩溃并不总是发生,但有时会发生。
悬空指针的错误通常是这样的。
你没说你在哪个站台。Valgrind和Address Sanitizer(在最新版本的GCC和Clang中可用)可能会直接指向错误。
相关文章:
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- 标准 N3337 5.2.10 第 7 条中的C++"类型"是什么意思?
- "类模板示例<int>;"语句对 C++11 是什么意思?
- 线应该是什么意思
- 错误:无效的预处理指令 #i 的意思是 #if?
- "CID"在AT+HTTPPARA= "CID" ,1中是什么意思
- 表达式"b=(b-x)&x"是什么意思?
- 这个表达是什么意思?
- 此代码验证公式是什么意思?
- 跟踪日志中的T.11803()是什么意思?
- Trie*& 和 Trie** 的意思是 Same?
- 这个额外的关键字在这个 c++ 类声明中是什么意思?
- 错误:无法解析对重载函数的引用;你的意思是调用它吗?
- * 和 ** 在 C++ 函数声明中是什么意思?
- _T("xyz")是什么意思?
- #define Dbg(fmt,..) (0) 是什么意思? 警告:表达式无效
- 这行代码到底是什么意思?
- 在命名空间名称之前加上 :: 是什么意思?
- 从字符数组的元素中减去'a'是什么意思
- 我的输出中的D3D11 INFO行是什么意思