当前位置:网站首页>Debug on pure method is called
Debug on pure method is called
2022-08-02 14:12:00 【Soonyang Zhang】
#include <iostream>
#include <execinfo.h> //for backtrace
void dump(void)
{
int j, nptrs;
void *buffer[kBacktraceSize];
char **strings;
nptrs = backtrace(buffer, kBacktraceSize);
printf("backtrace() returned %d addresses\n", nptrs);
strings = backtrace_symbols(buffer, nptrs);
if (strings == NULL) {
perror("backtrace_symbols");
exit(EXIT_FAILURE);
}
for (j = 0; j < nptrs; j++)
printf("[%02d] %s\n", j, strings[j]);
free(strings);
}
extern "C"
void __cxa_pure_virtual () {
std::cout<<"pure method is called"<<std::endl;
dump();
}
Copy the above code in your own project. When the pure method is called, the dump will output some backtrace. The output hint may be helpful to let you figure out what is wrong.
Reference
[1] C++ 错误 pure virtual method called
[2] “Pure virtual function call”如何调试
边栏推荐
猜你喜欢
随机推荐
Cmd Markdown 公式指导手册
Based on the least squares linear regression equation coefficient estimation
2342. 数位和相等数对的最大和 哈希优化
第二十九章:树的基本概念和性质
How to simulate 1/3 probability with coins, and arbitrary probability?
Unity插件-FairyGUI
饥荒联机版Mod开发——配置代码环境(二)
MATLAB绘图函数ezplot入门详解
golang内存相关文章-收集
MMD->Unity一站式解决方案
Qt | 播放音频文件 QMediaplayer
7. Redis
剑指offer:在O(1)时间删除链表结点
Qt | 显示网络图片 QNetworkAccessManager
光栅区域衍射级数和效率的规范
快速排序
Redis common interview questions
UnityAPI-Ray-Physics
剑指offer:删除链表中重复的节点
剑指offer:数值的整数次方









