博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GPU应用程序Attach调试记录
阅读量:6818 次
发布时间:2019-06-26

本文共 1279 字,大约阅读时间需要 4 分钟。

hot3.png

1.前期工作

1.1工程路径确认

GPU项目共有6个工程,如图 1-1:

图 1-1 GPU项目工程

这6个工程建议放在同一目录下,否则可能调试时会出现奇怪的问题,比如放在IDE默认的workspace目录下,如图 1-2:

图 1-2 workspace工程目录

 

1.2测试程序文件名确认

例如测试程序工程叫gpu_test,那么主程序所在的文件名必须是gpu_test.c,不然调试时会报出找不到gpu_test.c警告。示例如图 1-3:

图 1-3确认测试程序主文件

2.GDB调试设置

2.1新建调试项目

2.1.1打开测试工程主程序文件

如图 21:

图 2-1打开测试主程序文件

2.1.2打开Debug Configurations选项

如图 2-2所示:

图 2-2打开调试配置菜单

2.1.3新建SylixOS调试项目

右击SylixOS Remote Application选项,选择New选项来新建一个SylixOS调试项目,如图 2-3:

图 2-3新建调试项目

2.2选择调试程序

注意不要选择strip目录下的程序,如图 2-4:

图 2-4选择调试程序

2.3选择attach调试模式

如图 2-5:

图 2-5选择attach调试模式

2.4添加动态库路径

一共要添加4个动态库的路径,如图 2-6和图 2-7:

图 2-6添加动态库路径

图 2-7添加后的动态库

2.5指定调试程序,开始调试

前提是测试程序和库都已经下载到目标板上,并且测试程序已经在运行状态,进程ID可以通过在连接到目标板的终端输入ps命令查到。如图 2-8:

图 2-8指定进程ID

 

3.调试功能使用

 

3.1选择调试功能窗口

如图 3-1所示:可以按需要选择添加功能窗口,一般常用的是Debug、Breakpoints、Memory、Variables等。

图 3-1选择功能窗口

选择好功能窗口后,还可以根据自己的喜好调整每个窗口的位置,如图 3-2:

图 3-2窗口位置调整

3.2添加断点

点击想要添加断点的代码行,等蓝色区域出现后,直接双击即可添加一个断点。添加成功后,蓝色区域会出现一个小圆点,并且断点会立即生效,程序运行至此代码行处后会停止,而且此代码行背景色变为绿色,如图 3-3:

图 3-3添加断点

3.3添加多个断点

添加方法和上个小节一样,并且在Breakpoints区可以对添加的多个断点管理,如图 3-4:

图 3-4添加多个断点

3.4查看变量和寄存器

当程序运行到断点处时,可以在Variables区查看断点上下文中的变量值,如图 3-5:

图 3-5查看变量

同样,在Registers区查看寄存器的值,如图 3-6:

图 3-6查看寄存器

3.5恢复运行

如果想要程序再次运行到断点处,按F8即可。如果想要去掉断点运行,在Breakpoints区将断点前面的勾去掉,然后按F8即可。如图 3-7:

图 3-7恢复运行

转载于:https://my.oschina.net/u/3399876/blog/1538604

你可能感兴趣的文章
JPA(四)之实体关系一对一
查看>>
如何使用羊驼自动生成缩略图的功能。
查看>>
定制化Azure站点Java运行环境(1)
查看>>
inotify用法简介及结合rsync实现主机间的文件实时同步
查看>>
php 判断手机登陆
查看>>
git 问题
查看>>
Fedora18设置终端快捷键 和 桌面快捷方式
查看>>
取消NavigationBar左右两边的空隙
查看>>
修改symfony sfDoctrineGuardPlugin验证密码的方法
查看>>
mysql 创建日期列之timestamp
查看>>
Visual Studio统计有效代码行数
查看>>
Qt连接Oracle数据库常见问题
查看>>
45个实用的JavaScript技巧、窍门和最佳实践
查看>>
sqlserver 2005 列字符串拼接
查看>>
用面向接口编程思想看找对象
查看>>
TWaver GIS在电信中的使用
查看>>
5 Servlet
查看>>
百度创始人李彦宏:要做最好的中文搜索引擎
查看>>
JavaScript强化教程-cookie对象
查看>>
MEMCACHE常用的命令
查看>>