海思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四個目錄,每個目錄的內容如下圖所示:

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章