Вопросы по теме '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 просмотров
schedule
07.11.2022
дезинфицирующее средство для адресов не будет работать с bash на windows
В настоящее время запущены llvm, clang, clang-format и clang-modernize на Ubuntu Bash в Windows. Я хотел бы использовать набор инструментов очистки, выпущенных Google, включая очистку адреса, памяти и потока. Ни один из вариантов fsanitize не...
911 просмотров
schedule
28.03.2023
ошибки с 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 просмотров
schedule
01.03.2023
Дезинфицирующее средство памяти / адреса против Valgrind
Мне нужен какой-нибудь инструмент для диагностики ошибок, возникающих после бесплатного использования, и неинициализированных ошибок. Я рассматриваю Sanitizer (память и / или адрес) и Valgrind. Но я очень мало знаю об их преимуществах и недостатках....
18435 просмотров
schedule
02.06.2022
другой вывод для -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