创建内存越界任务
内存越界诊断主要分析应用程序的内存越界,给出越界类型和内存访问信息,并支持关联调用栈和源码。
前提条件
不存在“离线”状态的节点。
创建内存越界诊断分析任务
- 单击系统诊断后面的。
- 参考“任务管理”和表1配置任务参数。图1 新建内存诊断任务
表1 新建内存越界诊断参数说明 参数
说明
任务名称
输入分析任务的名称。名称需要满足如下要求:
- 只能由中文、字母、数字、特殊字符(@#$%^&*()[]<>._-!~+空格)组成,空格不可在开头或结尾。
- 长度为1~32个字符。
诊断对象
选择“内存”。
选择节点
选择需要分析的节点;只有一个节点时默认勾选,最多支持10个节点。
模式
选择分析对象的“模式”。选择“Launch Application”。
诊断功能
选择诊断分析的类型。选择“内存越界”。
应用路径
输入待分析的目标应用,需要带上绝对路径。例如分析保存在“/home/test”目录下的“loop_test”应用,则输入:/home/test/loop_test。
说明:- 默认分析“/opt/”或者“/home/”目录下的应用,管理员用户可在系统诊断首页中的“>工具设置>系统诊断>系统设置”,手动配置“应用程序路径配置”,路径之间采用分号分割。仅管理员用户可修改,普通用户只有查看权限。
- 对于保存应用的目录,操作系统运行用户(devkitworker1)需要有可执行权限,对于待分析的应用需要有可读可执行权限。
应用参数(可选)
输入应用参数,请根据实际应用场景填写。
应用运行用户(可选)
模式选择“Launch Application”时可以选择配置该参数,默认关闭。
- 关闭状态:应用运行用户为系统默认用户devkitworker1。
- 打开状态:应用运行用户为实际配置的用户。
用户名
配置需要运行应用的系统用户;打开“应用运行用户”时需配置。
密码
配置系统用户的密码;打开“应用运行用户”时需配置。
C/C++源文件路径(可选)
输入C/C++源文件在服务器上的绝对路径。“高级配置”中可选择配置。
说明:- 该应用的源码请务必符合通用编程规范,否则分析结果中热点函数的源码可能无法正常显示。
- 当开发者需要观察源代码和汇编指令映射后的性能数据时,该参数用来导入对应应用程序的源代码。
异常后终止分析
设置程序异常时是否终止任务,默认开启(异常后终止);如需程序异常后继续分析,请在应用程序编译时添加-fsanitize-recover=address选项。在“高级配置”可选择配置。
配置指定节点参数
在指定节点配置对应参数。默认关闭,在选择多个节点时,“高级配置”中可选择配置。
采集文件大小(MiB)
通过设置采集文件大小,防止由于文件过大导致分析时间过长。默认为100,范围1~100MiB。
任务时间
配置任务是否立即执行,默认选择“立即执行”,可选“立即执行”和“预约定时启动”;“高级配置”中需配置。
选择“预约定时启动”时,需配置“采集方式”、“采集时间”和“采集日期”。
周期采集:该任务在采集周期内每天生效一次;周期采集需配置“采集时间”和“采集日期”。
单次采集:该任务只生效一次;单次采集需配置“采集日期和时间”。
说明:- 单个用户最多可创建20个预约任务。
- 新创建的预约任务会出现在右上角“>工具设置>系统诊断”中的“预约任务”列表中,可在“预约任务”列表中查看、修改和删除(可批量删除)预约任务。
- 预约任务暂不支持重启,有预约的任务暂无重启按钮。
- 单击“确认”完成分析任务的创建。
单击任务名称后面对应的图标可以执行如下操作:
- :停止分析任务,停止分析任务后,已采集的信息会被删除。
- :重启分析任务,可修改任务参数配置并重新启动分析任务,取消任务或任务失败时可使用。
- :再次运行分析任务,自动命名任务并重新启动分析任务。
- :删除分析任务,删除分析任务会将该分析任务下的数据都删除,请谨慎操作。
- :修改任务或报告名称,可修改对应任务或报告名称(报告名称规则同任务名称一致)。
用户中途离开(如退出登录)或切换界面,采集分析任务不中断。
用户经鉴权后,重新访问系统,可以查看进行中的任务执行进度,或已完成分析任务的分析报告。