Вопросы по теме 'address-sanitizer'

Как определить, работает ли сборка с дезинфицирующим средством адреса при сборке с gcc 4.8?
Я работаю над программой, написанной на C, которую я иногда создаю с помощью средства очистки адресов, в основном для обнаружения ошибок. Программа печатает баннер в журналах при запуске с такой информацией, как: кто ее собрал, ветка, на которой она...
3843 просмотров
schedule 25.05.2022

Использование Address Sanitizer в качестве альтернативы Valgrind
Я читал, что Address Sanitizer является доступной альтернативой valgrind. Итак, чтобы разобраться, я начал с простого примера. Я написал приведенный ниже код в use_after_free.c #include<stdio.h> #include<stdlib.h> int gArray[100];...
2000 просмотров
schedule 10.12.2022

asan с g++ 5.4.0 не работает на travis CI
до недавнего времени мои сборки с g++ 5 на travis с использованием санитайзера адресов проходили - на прошлой неделе ломались. Я вижу, что версия g++ изменена с (Ubuntu 5.2.1-23ubuntu1~12.04) 5.2.1 20151031 на (Ubuntu 5.4.0-3ubuntu1~12.04) 5.4.0...
482 просмотров

дезинфицирующее средство для адресов не будет работать с bash на windows
В настоящее время запущены llvm, clang, clang-format и clang-modernize на Ubuntu Bash в Windows. Я хотел бы использовать набор инструментов очистки, выпущенных Google, включая очистку адреса, памяти и потока. Ни один из вариантов fsanitize не...
911 просмотров

ошибки с g++ 5 и 6 при использовании дезинфицирующего средства адресов и дополнительных флагов asan для статического порядка инициализации
Моя библиотека doctest протестирована с более чем 200 сборками на travis CI - x86/x64 Debug/Release linux/osx и с широким набором компиляторов - от gcc 4.4 до 6 и clang 3.4 до 3.8 Все мои тесты проходят через valgrind и средство очистки адресов...
1259 просмотров
schedule 16.04.2024

Как я могу определить, был ли UBSAN скомпилирован с использованием clang или gcc?
Мы используем следующий код, чтобы определить, был ли указан -fsanitize=address во время компиляции для clang и gcc. Как мы определяем, был ли указан -fsanitize=undefined ? bool isSanitized = false; #if defined(__has_feature) #if...
1088 просмотров
schedule 11.02.2023

Как настроить вывод отчетов ASAN/UBSAN
Я хотел бы запустить свой набор модульных тестов с -fsanitize=address,undefined и записать все ошибки дезинфицирующего средства в файл report.txt . По умолчанию все ошибки дезинфицирующего средства записываются в стандартный вывод, однако...
4873 просмотров
schedule 13.04.2023

Как изменить путь поиска динамической библиотеки по умолчанию для libasan
У меня есть приложение, которое должно работать на различных платформах, т. е. ARM, i386, amd64 и т. д. Я хочу проверить возможные утечки памяти, у меня включен дезинфицирующий адрес в GCC как -fsanitize=address Мы используем buildroot для...
691 просмотров
schedule 14.05.2023

Ложный отрицательный результат с дезинфицирующим средством адреса?
Рассмотрим код ниже. Когда я компилирую и запускаю его с дезинфицирующим средством адреса, ошибка не отображается. Но должна быть ошибка, т.е. назначение/доступ за пределы области памяти? Почему адресное дезинфицирующее средство не обнаруживает...
460 просмотров
schedule 07.01.2023

Проблема Xcode Address Sanitizer с sockaddr
Следующий код используется для преобразования sockaddr в sockaddr_in6 для получения адреса IPv6: extension sockaddr { private var addressV6: String { var me = self var buffer = [Int8](repeating: 0, count: Int(INET6_ADDRSTRLEN))...
171 просмотров
schedule 03.03.2023

Как отлавливать ошибки, вызванные AddressSanitizer, в библиотеках C++, доступ к которым осуществляется через расширение python
У меня есть модуль python, который использует внешнюю библиотеку C++, используя сборку расширения C++ с distutils. Когда я компилирую библиотеку C++ с опцией очистки адресов, -fsanitize GCC, я получаю segfault при запуске модульных тестов. Сначала я...
1177 просмотров

Дезинфицирующее средство памяти / адреса против Valgrind
Мне нужен какой-нибудь инструмент для диагностики ошибок, возникающих после бесплатного использования, и неинициализированных ошибок. Я рассматриваю Sanitizer (память и / или адрес) и Valgrind. Но я очень мало знаю об их преимуществах и недостатках....
18435 просмотров

другой вывод для -fsanitize=address с clang++ и g++
В следующем коде у меня есть проблема. Когда я даю ему вектор, который все еще полностью пуст, код падает, потому что vector.size() - 1 не может быть отрицательным, поэтому он зацикливается. Поскольку вектор пуст, доступ к container[0]...
141 просмотров
schedule 01.07.2023

Столкновение с точкой останова отчета AddressSanitizer: динамическое переполнение буфера стека
У меня есть protocols , который я использую для описания различных типов Vectors , и некоторые общие функции для всех них. Я использую это для получения диагонали, аспектов, аспектов и т. д. Я включил Address Sanitizer в scheme . К сожалению,...
2782 просмотров
schedule 18.07.2022

Опция Address Sanitizer -fsanitize-recover=адрес не поддерживается
Я пытаюсь использовать Address Sanitizer с gcc в своем проекте. Итак, я добавил необходимые флаги в компилятор, а также в компоновщик: ADD_COMPILE_OPTIONS(-O0 -g -Wall -fsanitize=address -fno-omit-frame-pointer) SET(CMAKE_EXE_LINKER_FLAGS...
2756 просмотров
schedule 06.03.2023

Как использовать I Address Sanitizer в lli (LLVM)
Я хотел бы запустить биткод с аргументом дезинфекции адреса, но у меня с этим проблема, если я его запущу, произойдет ошибка сегментации. $cat sample.c #include <stdlib.h> void *p; int main() { p = malloc(7); return 0; } $clang...
300 просмотров
schedule 16.12.2022

Необнаруженная утечка с помощью asan и strsep()
GCC 8.2.0 не обнаруживает утечку в следующем коде, скомпилированном с помощью -fsanitize=address : #include <string.h> #include <stdlib.h> #include <stdio.h> int main() { char *str1 = "tok1:val2"; char *str1_dup...
90 просмотров
schedule 22.12.2022

дезинфицирующее средство адресов иногда пропускает использование кучи после освобождения
Сохранение указателя на элемент вектора, размер которого изменяется, и последующее разыменование его — это поведение undefined. При тестировании этой плохой практики в следующей программе с std::vector<int> (с #if 0 ) средство очистки...
1297 просмотров
schedule 16.08.2023

AddressSanitizer определяет std::vector‹T›::push_back как причину ошибки использования кучи после освобождения
Я пытаюсь отладить программу, которая обычно падает при запуске (в конечном итоге она запускается после нескольких попыток). После компиляции с ASAN я получаю следующую трассировку, которая показывает, что 9 из 10 сбоев вызваны...
827 просмотров
schedule 12.02.2023

Asan: проблема с загрузкой библиотеки asan
В нашу систему сборки мы недавно интегрировали инструмент ASAN (добавив -fsanitize=address) в CFLAGS, а также при компоновке создаем файлы библиотеки .so. Примечание. Мы используем компилятор GCC 6.3. Мы можем успешно построить наш код. Но во...
6214 просмотров
schedule 12.06.2023