当前位置:网站首页>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”如何调试
边栏推荐
猜你喜欢
随机推荐
Codeforces Round #624 (Div. 3)
锥形相位掩模的Talbot图像
4. Publish Posts, Comment on Posts
Network Security Packet Capture
项目:数据库表的梳理
7.Redis
Manifest merger failed : Attribute [email protected] value=
2021-06-06
How to simulate 1/3 probability with coins, and arbitrary probability?
Redis常见面试题
TCP的三次握手和四次挥手
shader入门精要1
MATLAB绘图函数ezplot入门详解
2.登录退出,登录状态检查,验证码
软件测试基础知识(背)
pygame image rotate continuously
Unity插件-FairyGUI
6.统一记录日志
计算机导论——数据库
Introduction to C language function parameter passing mode