- 主题:AddressSanitizer怎么禁止对某一个函数的检测(gcc中)?
代码中调用了opencv的一个api,导致sanitizer报错。我在调用该api的方法上增加了no_sanitize_address属性,但总不起作用。gcc 4.9.4和gcc 7.5中都是这样。示例代码如下(代码编译为一个动态库):
__attribute__((no_sanitize_address)) static cv::Mat _imdecode(cv::Mat mat)
{
return cv::imdecode(mat, cv::IMREAD_COLOR);
}
void myFunc()
{
...
cv::Mat image = _imdecode(mat);
...
}
请问是哪儿搞错了么?
--
FROM 123.114.164.*
annotation放在static后面?
--
FROM 13.94.42.*
貌似不是这个原因,我暂时preload libstdc++规避过这个问题了。
【 在 ywypc 的大作中提到: 】
: annotation放在static后面?
--
FROM 221.216.154.*
4.9应该不支持,另外,ASAN_OPTIONS好像要加点东西
--
FROM 115.171.62.*