| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[msprof-master]out分支同步到master分支 Co-authored-by: yu-liang-bin<y1416490440@163.com> | 8 个月前 | |
[msprof-master]clean-code问题修改:copyright整改为统一 Co-authored-by: yu-liang-bin<y1416490440@163.com> | 8 个月前 | |
预埋功能runtimeTrack数据streamId扩容到uint32_t_part2 Co-authored-by: panzhaohu<panzhaohu1@h-partners.com> # message auto-generated for no-merge-commit merge: !373 merge stream_python into master 预埋功能runtimeTrack数据streamId扩容到uint32_t_part2 Created-by: panzhaohu Commit-by: panzhaohu Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** 预埋功能runtimeTrack数据streamId扩容到uint32_t,taskType是model_execute或者model_notify_wait,profiling工具使用union里的MsprofModelInfo获取对应的moel id,在一年内,对于aclgraph场景需要同时上报新老两套MsprofRuntimeTrack/MsprofRuntimeTrackv2,MsprofCaptureStreamInfo/MsprofCaptureStreamInfov2 - **修改内容:** 新增 V2 数据 Bean 类: 新增 TaskTrackV2Bean、TaskTrackV2Chip6Bean 和 CaptureStreamInfoV2Bean,采用新布局(streamId 为 uint32_t,model_id 为 uint32_t),分别对应 V2 格式的 task_track 和 capture_stream_info 数据解析。 V1/V2 文件选择与解析策略: 在 TaskTrackParser 和 CaptureStreamInfoParser 中引入 V1 优先逻辑——通过文件名是否包含 _v2 区分格式,优先使用 V1 文件解析,V1 不存在时才回退到 V2。 V2 结构体格式定义: 在 StructFmt 中新增 TASK_TRACK_V2_FMT、CAPTURE_STREAM_INFO_V2_FMT 及对应 size 常量,并在 StructDecoder 中注册 TaskTrackV2Bean、TaskTrackV2Chip6Bean、CaptureStreamInfoV2Bean 的格式映射。 Model ID 信息提取与存储: TaskTrackParser 在格式化 task_track 数据时,若 task_type 为 MODEL_EXECUTE 或 MODEL_WAIT_COMPLETE,提取 (device_id, task_id, model_id) 并写入新表 TaskTrackV2;新增 TaskTraceV2ViewModel 和 TaskTrackV2Dto 用于查询该表。 RTAddInfoCenter 集成: 新增 load_model_id_info_data 方法,优先从 TaskTrackV2 表中按 (device_id, task_id) 查找 model_id,查不到时再走原有的 find_matching_model_id 逻辑。 文件匹配模式扩展: 新增 TASK_TRACK_V2_COMPACT_FILE_PATTERN 和 CAPTURE_STREAM_INFO_V2_PATTERN 正则模式,以及对应的 get_task_track_compact_compiles 和 get_capture_stream_info_compiles 返回值扩展,支持识别 V2 文件。 ---- ## 2. 功能验证 - [ ] **功能自验** v1和v2文件同时存在--python解析   stream_info.db  runtime.db  rts_track.db--TaskTrackV2  v2数据存在   stream_info  runtime.db  - [ ] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!373 | 2 个月前 | |
[msprof-master]out分支同步到master分支 Co-authored-by: yu-liang-bin<y1416490440@163.com> | 8 个月前 | |
ccu c++ part Co-authored-by: xieanran<694099604@qq.com> # message auto-generated for no-merge-commit merge: !492 merge master into master ccu c++ part Created-by: SoraAzzz Commit-by: xieanran Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** CCU优化,新增c++加速模块 - **修改内容:** - [cpp_enable_scene.py](D:/codehub/msprof_toolkit/msprof/analysis/common_func/cpp_enable_scene.py) - DeviceParseScene.SCENE_CHIP_WHITELIST 暂时不增加 CHIP_V6_1_0。 - 让 v6.1 在满足 all-export、task-based、非 custom PMU 等原有条件时,可以进入 CCU C++ 解析。 - 现有 device 数据过滤还受 is_chip_v4() 控制,因此不会顺带开启 v6.1 的整套 device C++ parser。 Device C++ Parser [ccu_parser.h](D:/codehub/msprof_toolkit/msprof/analysis/csrc/domain/services/parser/ccu_parser.h) - 在 mission/channel 数据集中增加 hasCompletedFiles。 - completedFiles 表示本次成功解析、后续需要写 marker 的文件。 - hasCompletedFiles 表示输入中原本已经存在完成标记,用于检查 DB 与 marker 是否一致。 [ccu_parser.cpp](D:/codehub/msprof_toolkit/msprof/analysis/csrc/domain/services/parser/ccu_parser.cpp) - SourceKey.sourceId 从 uint64_t 改为规范化十进制字符串。 - 防止超长 source id 溢出后被合并到同一个 source。 - 前导零会被归一化,例如 0001 与 1 仍视为同一个 source。 - sliceOrder 改为十进制字符串。 - 按数字长度和字典序实现任意长度数字排序。 - 保持相同序号文件的稳定发现顺序。 - 文件扫描时记录是否存在 .complete。 - 同一 source 部分完成、部分未完成时仍然拒绝解析。 - 完成信息传给 persistence 做恢复一致性检查。 - ResolveMissionStreamIds 改为返回成功状态。 - runtime.db 或 HostTask 确实不存在时,继续使用默认 stream 65535。 - HostTask 表存在但查询失败时返回失败,不再伪装成无关联数据。 - 保持按 timestamp 排序、重复 task first-wins。 - mission 相对结束时间增加 uint64_t 加法溢出检查。 - 任意 slot 溢出时,删除当前 record 已展开的部分行并返回失败。 - 避免向后续阶段发布半条 mission 数据。 - mission/channel ProcessEntry 传播文件解析和 HostTask 查询失败。 [ccu_persistence.cpp](D:/codehub/msprof_toolkit/msprof/analysis/csrc/domain/services/parser/ccu_persistence.cpp) - 新增 mission/channel SQLite 整数范围校验。 - mission 校验四个时间字段。 - channel 校验 timestamp。 - 校验在任何表创建和数据写入之前完成,避免已写 mission 后才发现 channel 越界。 - 有待完成文件但解析结果为零行时,也会创建对应空表。 - 表创建成功后才写 .complete。 - 输入存在历史 .complete,但对应表不存在时返回失败。 - 覆盖“source A 已完成、source B 待处理”的混合场景。 - 防止只写 source B 后把不完整数据当成全量结果。 - 没有文件、没有记录时直接成功,不创建无意义的表。 - 保留直接构造 records 后调用 persistence 的兼容行为。 - 所有 mission/channel 一致性检查完成后,才开始实际落库。 - .complete 仍只在对应表写入成功后创建。 Host C++ Parser [ccu_add_info_parser.h](D:/codehub/msprof_toolkit/msprof/analysis/csrc/domain/services/parser/host/cann/ccu_add_info_parser.h) - 为 task、wait-signal、group 分别增加: - SourceParsed:本次发现并成功处理了源文件。 - SourceCompleted:源文件原本已经存在完成标记。 - 增加 HasInput(),统一判断是否有记录、待写 marker、零行源或历史完成源。 [ccu_add_info_parser.cpp](D:/codehub/msprof_toolkit/msprof/analysis/csrc/domain/services/parser/host/cann/ccu_add_info_parser.cpp) - 文件发现阶段返回每类数据是否存在历史 .complete。 - 即使 wait/group 的所有 channel slot 都被过滤、最终生成零行,也保留“该 source 已成功解析”的状态。 - task、wait、group 分别记录解析和完成状态,不依赖芯片型号。 - 任意一类解析失败后清空整个 CcuAddInfoData,避免 dumper 使用部分结果。 - HasInput() 将零行源和历史完成源也视为有效状态输入。 [ccu_add_info_db_dumper.cpp](D:/codehub/msprof_toolkit/msprof/analysis/csrc/domain/services/persistence/host/ccu_add_info_db_dumper.cpp) - task/wait/group 的保存函数允许零行保存成功。 - 仍会创建对应空表,表示该类源已成功处理。 - group dataSize 增加 SQLite INT64 范围校验。 - 在创建或写入任何 host 表之前完成校验。 - 避免 task/wait 已写入后才发现 group 越界。 - 每类历史 .complete 都会检查对应表是否存在。 - 是否落表由“发现源文件或存在直接注入记录”决定,不再只看记录列表是否为空。 - task、wait、group 全部保存成功后才统一创建完成标记。 - marker 创建失败会传递失败状态。 [host_trace_worker.cpp](D:/codehub/msprof_toolkit/msprof/analysis/csrc/domain/services/host_worker/host_trace_worker.cpp) - Run() 最终结果增加 ccuResult_。 - CCU add-info parser 或 dumper 失败后,HostTraceWorker 不再返回整体成功。 - 没有 CCU 文件属于正常空输入,parser/dumper 会返回成功,不影响其他 host 数据处理。 - 没有增加任何 host chip 分支。 Python 公共 CCU 辅助 [ccu_source_calculator.py](D:/codehub/msprof_toolkit/msprof/analysis/msparser/ccu_source_calculator.py) - 增加 mark_ccu_files_complete()。 - 调用原有 FileManager.add_complete_file。 - 调用后检查 marker 文件是否真实存在。 - marker 未成功落盘时返回失败。 - 增加 ccu_table_exists(),供 CCU parser 检查 marker 与数据库表的一致性。 - CcuOffsetCalculator.has_completed_files 检查本 source 是否存在历史 marker。 - CcuSourceCalculator.has_completed_files 聚合所有 device source 的完成状态。 - 没有修改公共 OffsetCalculator 父类。 Python Device Parser [ccu_mission_parser.py](D:/codehub/msprof_toolkit/msprof/analysis/msparser/hardware/ccu_mission_parser.py) - 保存前检查历史 marker 对应的 OriginMission 是否存在。 - 有待完成文件时,即使 mission 结果为零行,也进入 model 创建空表。 - 在打开 model 前校验全部时间字段是否超过 SQLite INT64。 - model flush 成功后才创建 marker,并验证 marker 是否真实存在。 - 保存失败时保留 _pending_complete_files,不会误标完成。 - 增加 CCU 私有 HostTask 查询: - 不修改 HostTaskCollector 或公共 DB/model。 - 缺少 runtime.db 或 HostTask 表时返回空映射,使用 stream 65535。 - 表存在但字段损坏或 SQL 查询失败时抛出错误。 - 按 timestamp 排序并保持重复 task first-wins。 - 使用 Python 官方 sqlite3,没有引入第三方库。 [ccu_channel_parser.py](D:/codehub/msprof_toolkit/msprof/analysis/msparser/hardware/ccu_channel_parser.py) - 保存前检查历史 marker 对应的 OriginChannel 是否存在。 - 零行但存在成功解析文件时创建空表。 - 打开 model 前校验 timestamp 的 SQLite INT64 范围。 - 数据提交成功后才写 marker,并验证 marker。 - 保存或 marker 失败时保留待完成文件,便于诊断和完整重导。 Python Host Parser [ccu_add_info_parser.py](D:/codehub/msprof_toolkit/msprof/analysis/msparser/add_info/ccu_add_info_parser.py) - 建立 DataTag 到 task/wait/group 表名的映射。 - _processed_tags 记录成功处理过的源类型。 - 即使该类型过滤后为零行,也会创建对应空表。 - 保存前统一检查历史 marker 与三张表是否一致。 - group data_size 在任何 model 打开前校验 SQLite INT64 范围。 - task、wait、group 全部保存成功后才写 marker。 - marker 写入后进行真实文件检查。 - 任意保存或 marker 失败都会抛出错误,不清空待完成文件。 - Host 逻辑仍然完全不区分芯片。 ---- ## 2. 功能验证 - [x] **功能自验**   - [ ] **本地自验用例截图** - [x] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) 未通过用例为用例暂未适配导致 ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [x] **是否经过代码检视** - [x] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [x] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [x] **不允许私有的文件操作,需要使用公共模块的安全函数** - [x] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [x] **数组访问需要校验越界场景,对除法需要做除零校验** - [x] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [x] **需要充分进行接口输入和返回值异常情况的校验** - [x] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [x] **指针使用前需要判空** - [x] **数值计算校验溢出和反转** - [x] **不可存在内存泄漏(异常场景需要释放内存)** - [x] **类型转换不能出现数据截断** - [x] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [x] **拷贝内存时,目的缓冲区不小于源缓冲区** - [x] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!492 | 19 天前 | |
[msprof-master]out分支同步到master分支 Co-authored-by: yu-liang-bin<y1416490440@163.com> | 8 个月前 | |
[msprof]适配新芯片上aicoreNum数量 Co-authored-by: panzhaohu<panzhaohu1@h-partners.com> # message auto-generated for no-merge-commit merge: !504 merge aicoreNum into master [msprof]适配新芯片上aicoreNum数量 Created-by: panzhaohu Commit-by: panzhaohu Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** 新芯片上aic/aiv核数量是1:1,核数是70 - **修改内容:** 将ChipMaxCoreId中新芯片架构的aicoreId最大值修改为69(coreId从下标0开始计数) ---- ## 2. 功能验证 - [ ] **功能自验** ai_core_utilization.csv中aicoreNum是64,与info.json的ai_core_num值一致  info.json:  - [ ] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!504 | 18 天前 | |
Adapt fusion task trace timeline for Chip V6_1_0 Co-authored-by: xieanran<694099604@qq.com> # message auto-generated for no-merge-commit merge: !273 merge master into master Adapt fusion task trace timeline for Chip V6_1_0 Created-by: SoraAzzz Commit-by: xieanran Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** fusion task timeline呈现 - **修改内容:** fusion task viewer ---- ## 2. 功能验证 - [x] **功能自验** - [x] **本地自验用例截图** - [x] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [x] **是否经过代码检视** - [x] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [x] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [x] **不允许私有的文件操作,需要使用公共模块的安全函数** - [x] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [x] **数组访问需要校验越界场景,对除法需要做除零校验** - [x] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [x] **需要充分进行接口输入和返回值异常情况的校验** - [x] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [x] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!273 | 3 个月前 | |
bugfix: 修复aicpu c化解析结果异常问题 Co-authored-by: Seanesmhxocism<wangzixuan54@huawei.com> # message auto-generated for no-merge-commit merge: !477 merge linux into master bugfix: 修复aicpu c化解析结果异常问题 Created-by: Seanesmhxocism Commit-by: Seanesmhxocism Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** - aicpu数据导出时候,时间单位未与原python侧对齐。导致在viewer导出阶段时间计算存在问题。 - **修改内容:** - 1、矫正c化的memcpy compute相关数据的计算,以double存储数据,避免数据过小被处理为0 - 2、aicpuData表 修改python侧的时间保存单位,统一为ns,和其他数据库内容单位对齐 ---- ## 2. 功能验证 - [ ] **功能自验** 数据差异为python和c化导出的小数点差异,误差在纳秒级,符合预期  - [ ] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!477 | 27 天前 | |
[msprof-master]out分支同步到master分支 Co-authored-by: yu-liang-bin<y1416490440@163.com> | 8 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 8 个月前 | ||
| 8 个月前 | ||
| 2 个月前 | ||
| 8 个月前 | ||
| 19 天前 | ||
| 8 个月前 | ||
| 18 天前 | ||
| 3 个月前 | ||
| 27 天前 | ||
| 8 个月前 |