海思3559A上编译GDB源码操作步骤及简单使用

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四个目录,每个目录的内容如下图所示:

海思3559A上编译GDB源码操作步骤及简单使用_第1张图片

5. 将install/bin/目录下的hisi-gdb拷贝到海思板子上,然后执行:$ ./hisi-gdb 结果如下:

海思3559A上编译GDB源码操作步骤及简单使用_第2张图片

6. 测试代码main.cpp如下:

#include 
#include 

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 ,结果如下图所示:

海思3559A上编译GDB源码操作步骤及简单使用_第3张图片

9. 通过$ ulimit -c unlimited命令开启产生core文件,如上图所示;

10. 通过gdb core dump方法查看程序异常时的堆栈信息,执行:$ ./hisi-gdb main core,结果如下图所示:

海思3559A上编译GDB源码操作步骤及简单使用_第4张图片

 

你可能感兴趣的:(HISILICON,Software,Testing)