mssanitizer工具异常报告中未显示正确的文件名和行号
现象描述
文件名和行号显示为 "<unknown>:0",或文件名显示正确,但行号显示为 "0"。
解决措施
- 文件名和行号显示为 "<unknown>:0"
说明mssanitizer工具没有解析到正确的文件名和行号,根据用户的检测场景有以下两种解决方法:
- 如果启用了 "--check-cann-heap=yes" 选项,对 CANN 软件栈内存进行检测,则可以通过引入 Sanitizer API 头文件并重新编译用户程序使检测工具获取到正确的文件名和行号,具体可参考通过mssanitizer检测工具中提供的新接口...。
- 如果正在对算子进行异常检测,那么可能是在算子编译阶段未启用 "-g" 编译选项,启用 "-g" 编译选项后才能生成正确的文件名和行号,具体可参考内核调用符场景准备。
- 文件名显示正确,但行号显示为 "0"
这种情况一般是因为使用了 "-O2" 或 "-O3" 编译选项进行算子代码编译,编译器对算子代码进行优化时导致代码行变化,可通过在算子编译阶段使用 "-O0" 禁用编译器优化来解决这个问题。
父主题: FAQ