target_compile_options(${smoke_testcase}_npu PRIVATE -O2 -std=c++17 --cce-enable-sanitizer -g )
增加 --cce-enable-sanitizer 选项代表使能异常检测。
为了在异常报告输出时显示异常发生的具体位置,增加 -g 选项使编译器生成定位信息,从而在报告中显示文件名行号等信息。
git clone https://gitee.com/ascend/samples.git -b 8.0.RC1
target_link_options(${smoke_testcase}_npu PRIVATE --cce-fatobj-link --cce-enable-sanitizer )
if(NOT CMAKE_CCE_LINK_EXECUTABLE) set(CMAKE_CCE_LINK_EXECUTABLE "<CMAKE_CCE_COMPILER> ${CMAKE_LIBRARY_CREATE_CCE_FLAGS} ${_CMAKE_COMPILE_AS_CCE_FLAG} <FLAGS> <CMAKE_CCE_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>${__IMPLICIT_LINKS}") endif()
mssanitizer --check-cann-heap=yes --leak-check=yes -- ./<kernel_name>_npu parameter1 parameter2 ...
mssanitizer --check-cann-heap=yes --leak-check=yes -- /usr/bin/python3 prog.py
/usr/bin/python3为python解析器所在绝对路径,prog.py为用户自定义脚本。
不建议配置其他用户目录或其他用户可写目录下的自定义脚本,避免提权风险。
自定义脚本中不建议配置删除文件或目录、修改密码、提权命令等有安全风险的高危操作。