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,結果如下圖所示: