1. 从http://ftp.gnu.org/gnu/gdb/ 下载最新稳定版8.3,即gdb-8.3.tar.gz,解压缩;
2. 在gdb-8.3目录下,创建一个build.sh脚本文件,内容如下:
./configure \
--prefix="$PWD/install" \
--target=aarch64-himix100-linux \
--host=aarch64-himix100-linux \
--program-prefix=hisi-
3. 依次执行如下命令,注:make install时会显示一些install error可以忽略:
./build.sh
make -j8
make install
4. 执行完后会在当前install目录下生成bin, include, lib, share四个目录,每个目录的内容如下图所示:
5. 将install/bin/目录下的hisi-gdb拷贝到海思板子上,然后执行:$ ./hisi-gdb 结果如下:
6. 测试代码main.cpp如下:
#include <stdio.h>
#include <iostream>
namespace {
void func() {
const char* p = "hello";
delete p;
}
} // namespace
int main()
{
fprintf(stdout, "test start\n");
func();
fprintf(stdout, "test finish\n");
}
7. 执行如下命令,生成可执行文件main:
/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin/aarch64-himix100-linux-g++ -g -o main main.cpp
8. 将可执行文件main拷贝到海思板子上,执行:$ ./main ,结果如下图所示:
9. 通过$ ulimit -c unlimited命令开启产生core文件,如上图所示;
10. 通过gdb core dump方法查看程序异常时的堆栈信息,执行:$ ./hisi-gdb main core,结果如下图所示: