-
前期工作
-
工程路径确认
GPU项目共有6个工程,如图 1-1:
图 1-1 GPU项目工程
这6个工程建议放在同一目录下,否则可能调试时会出现奇怪的问题,比如放在IDE默认的workspace目录下,如图 1-2:
图 1-2 workspace工程目录
-
测试程序文件名确认
例如测试程序工程叫gpu_test,那么主程序所在的文件名必须是gpu_test.c,不然调试时会报出找不到gpu_test.c警告。示例如图 1-3:
图 1-3 确认测试程序主文件
-
GDB调试设置
-
新建调试项目
-
打开测试工程主程序文件
如图 21:
图 2-1 打开测试主程序文件
-
打开Debug Configurations选项
如图 2-2所示:
图 2-2 打开调试配置菜单
-
新建SylixOS调试项目
右击SylixOS Remote Application选项,选择New选项来新建一个SylixOS调试项目,如图 2-3:
图 2-3 新建调试项目
-
选择调试程序
注意不要选择strip目录下的程序,如图 2-4:
图 2-4 选择调试程序
-
选择attach调试模式
如图 2-5:
图 2-5 选择attach调试模式
-
添加动态库路径
一共要添加4个动态库的路径,如图 2-6和图 2-7:
图 2-6 添加动态库路径
图 2-7 添加后的动态库
-
指定调试程序,开始调试
前提是测试程序和库都已经下载到目标板上,并且测试程序已经在运行状态,进程ID可以通过在连接到目标板的终端输入ps命令查到。如图 2-8:
图 2-8 指定进程ID
-
调试功能使用
-
选择调试功能窗口
如图 3-1所示:可以按需要选择添加功能窗口,一般常用的是Debug、Breakpoints、Memory、Variables等。
图 3-1 选择功能窗口
选择好功能窗口后,还可以根据自己的喜好调整每个窗口的位置,如图 3-2:
图 3-2 窗口位置调整
-
添加断点
点击想要添加断点的代码行,等蓝色区域出现后,直接双击即可添加一个断点。添加成功后,蓝色区域会出现一个小圆点,并且断点会立即生效,程序运行至此代码行处后会停止,而且此代码行背景色变为绿色,如图 3-3:
图 3-3 添加断点
-
添加多个断点
添加方法和上个小节一样,并且在Breakpoints区可以对添加的多个断点管理,如图 3-4:
图 3-4 添加多个断点
-
查看变量和寄存器
当程序运行到断点处时,可以在Variables区查看断点上下文中的变量值,如图 3-5:
图 3-5 查看变量
同样,在Registers区查看寄存器的值,如图 3-6:
图 3-6 查看寄存器
-
恢复运行
如果想要程序再次运行到断点处,按F8即可。如果想要去掉断点运行,在Breakpoints区将断点前面的勾去掉,然后按F8即可。如图 3-7:
图 3-7 恢复运行
GPU应用程序Attach调试记录
时间: 2024-11-08 18:53:05
GPU应用程序Attach调试记录的相关文章
程序崩溃调试记录和总结
1. 多线程访问共享资源没有加锁 错误提示:Segmentation fault! 解决办法: 多线程读不需要加锁 多线程同时读写则需要加锁 加锁的方法有互斥量.信号量.读写锁.记录锁.互斥量和条件变量结合提供的事件通知机制. C++11里则有,lock_guard,unique_lock.两者都是在构造的时候加锁,析构的时候加锁.但unique_lock提供更多的特性,比如可以指定它在构造的时候不加锁,在需要的时候再调用.lock()加锁.如果和condition_variable结合使用只能
基于freescale i.Mx6(ARM)的阿里云oss调试记录
SS调试记录 1.1 开通oss服务 具体参考以下链接: https://help.aliyun.com/document_detail/31884.html?spm=a2c4g.11186623.6.558.n2g1UA 1.2 SDK安装 在ubuntu下安装,安装步骤如下: 安装CMake 执行以下命令安装CMake. sudo apt-get install cmake 安装第三方库 执行以下命令安装第三方库. sudo apt-get install libcurl4-openssl-
Android KitKat 4.4 Wifi移植之AP模式与网络共享功能调试记录
Tethering技术在移动平台上已经运用的越来越广泛了,它可以把移动设备当做一个接入点,其它的设备可以通过Wi-Fi,USB或是Bluetooth等方式连接到此移动设备.在Android中可以将Wifi设为AP模式作为WLAN接入点,从而与其他设备共享Android的互联网连接.Android成为接入点后,就无法通过WLAN连接使用Android的应用程序访问互联网,但可以通过其他方式如以太网或移动网络访问互联网.此时以太网或移动网络在网络共享(Tethering)中是作为upstream的角
与SVN相关的程序的调试问题【转】
解决eclipse中出现Resource is out of sync with the file system问题. 分析:有时候因为时间紧迫的原因,所以就没去管它,今天再次遇到它,实在看着不爽,所以想了办法解决此问题! 这个问题是由于eclipse中文件不同步引起的.在eclipse中,工程文件是由eclipse自动扫描添加的,如果在外部修改了工程目录中的文件但又关闭了自动刷新功能,则会引起文件不同步,从而搜索时出现Resource is out of sync with the file
Linux下adb驱动问题Linux下使用手机USB调试模式连接ADB进行Android程序的调试
Linux 下adb 驱动问题 Linux下使用手机USB调试模式连接ADB进行Android程序的调试,配置驱动没有Windows来的直观. 具体步骤首先确认手机连接上电脑,lsusb查看下设备记录. [email protected]:~$ lsusb Bus 007 Device 009: ID 18d1:4e12 Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 006 Device 001: ID 1d
linux 下C/C++程序常用调试方法(gdb)
不管是在开发或者运行过程中,调试保证程序正常运行最基本的手段,熟悉这些调试方式,方便我们更快的定位程序问题所在,提高开发效率. 一 程序正常运行调试 (1) 直接使用gdb 开发过程中最常用的方式,我们可以在其过程中给程序添加断点,监视等辅助手段,监控其行为是否与我们设计相符,比如: (2) 程序已经运行,通过attach附加到进程 二 程序中断后调试 首先简单介绍下linux 下的信号: 软中断信号(signal,又简称为信号)用来通知进程发生了异步事件.进程之间可以互相通过
IOS真机调试记录
首先,登录到http://developer.apple.com/devcenter/ios/index.action,如果已经购买了iPhone Develop Program(iDP),登录进去后,页面右上角会看到如下图所示的页面: 点击第一项:iOS Provisioning Portal,然后会看到下面的页面: 点击进入Certificates,然后看到如下所示的页面: 点击图中的click here to download now,这会下载下来一个AppleWWDRCA.cer文件,这
Ubuntu16.04下写的Qt程序,调试时没问题,运行时偶现崩溃 (需要在运行时生成core dump文件,QMAKE_CC += -g)
记录一下 Ubuntu16.04下写的Qt程序,调试时没问题,运行时偶现崩溃 需要在运行时生成core dump文件 首先在pro结尾里加入 QMAKE_CC += -g QMAKE_CXX += -g QMAKE_LINK += -g 在终端输入 ulimit -c 显示为 0 然后输入 ulimit -c unlimited 继续在终端运行编写的程序 出错后,会在当前目录生成 core 文件 然后在终端执行 “gdb 你的程序名 core” 然后输入 bt 对该错误进行跟踪调试 (gdb)
gdb动态挂运行程序并调试
/* * gdb动态挂运行程序并调试 * 编译程序: * gcc gdb_attach2.c -o gdb_attach2 -g * * 运行程序: * ./gdb_attach2 * * 查看程序进程代号: * ps ax | grep gdb_attach2 * 3973 pts/0 S+ 0:00 ./gdb_attach2 * * 启用gdb挂载程序: * gdb gdb_attach2 3973 * * 在目标位置设置断点 * b gdb_attach2.c:44 * Breakpoi