当前位置:网站首页>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”如何调试
边栏推荐
猜你喜欢
随机推荐
STM32LL library - USART interrupt to receive variable length information
6.统一记录日志
十天学习Unity3D脚本(一)九个回调
LeetCode 2353. 设计食物评分系统 维护哈希表+set
富文本编辑
背包问题-动态规划-理论篇
Qt | 显示网络图片 QNetworkAccessManager
测试用例练习
动态数组-vector
二叉树的遍历:递归法/ 迭代法/ 统一迭代法(强QAQ)
戴森球计划这个游戏牛逼
二叉树创建之层次法入门详解
如何编辑VirtualLab Fusion结果的格式
剑指offer:删除链表中重复的节点
第三十三章:图的基本概念与性质
软件测试基础知识(背)
2. Log out, log in state examination, verification code
flex布局
Lightweight AlphaPose
线性结构,顺序结构








