Linux上调试常用的工具就是gdb了。借助学习C++虚函数表和内存布局的机会顺便学习下gdb常规调试技巧。
一,测试用例
1,C++头文件(szyu_test_gdb.h)
#ifndef __SZYU_GDB__
#define __SZYU_GDB__
#include <iostream>
class Base
{
public:
Base() {
};
Base( int v ) : non_static_member1( v ) {
};
virtual ~Base() {
};
public:
void
non_static_func1()
{
std::cout << "In non_static_func1()" << std::endl;
}
static void
static_func1()
{
std::cout << "In static_func1()" << std::endl;
}
virtual void
virtual_func1()
{
std::cout << "In virtual_func1()" << std: