ubsan

    1

    1답변

    많은 유형 변환 및 주조가있는 기존 C 프로젝트가 있습니다. 내장 함수 : BOOL __builtin_add_overflow (타입 1 A, 타입 2의 B, 타입 3 * 입술) 일반적 오버플 동적 거동을 확인하려면 gcc (및 C LANG)는 해당하는 내장 함수를 정의 결과가 오버플로되면 함수는 true를 반환합니다. 그런 다음 내 프로그램이이 조건을 파악

    3

    2답변

    Clang 컴파일러는 예를 들어 다음과 같은 유용한 런타임 검사를 제공합니다. -fsanitize=unsigned-integer-overflow. 수표 중 하나가 실패 할 때 백 트레이스를 인쇄 할 수 있습니까 (예 : gdb 사용)? 현재 문제의 정확한 위치를 알 수 있지만 컨텍스트가 없습니다. 이러한 런타임 검사, 특히 백 ​​트레이스에서 더 많은 정보

    2

    1답변

    Undefined Behavior Sanitizer를 통해 일부 업데이트가 실행 중입니다. 새니 타이 내가 꽤 이해하지 못하는 메시지를 생산 :는 kalyna.cpp:1326:61: runtime error: load of address 0x0000016262c0 with insufficient space for an object of type 'const

    10

    1답변

    공유 객체에서 C 심볼로 내 보낸 함수 포인터 테이블을 통해 일부 C++ 함수를 호출하려고합니다. 코드는 실제로 작동하고 있지만 (= UBSan) 소독제 연타의 정의되지 않은 동작은 다음과 같이 내가 만든 전화가 불법 본다 : 인해 소독제 연타의 정의되지 않은 동작에이 ==11410==WARNING: Trying to symbolize code, but e

    3

    1답변

    다음 코드를 사용하여 -fsanitize = address이 clang 및 gcc의 컴파일 시간에 지정되었는지 확인합니다. -fsanitize = undefined이 지정되었는지 어떻게 결정합니까? bool isSanitized = false; #if defined(__has_feature) #if __has_feature(address_sanitize

    1

    1답변

    단위 테스트 스위트를 -fsanitize=address,undefined과 함께 실행하고 모든 새니 타이저 오류를 report.txt 파일에 기록하고 싶습니다. 기본적으로 모든 새 니타 이저 오류는 stdout에 기록되지만 소프트웨어는 stdout에 정보를 기록하기 때문에 오류를 감지하기가 어렵습니다. 모든 오류는 표준 출력에 기록 얻을, #include

    1

    2답변

    Clang 5.0 및 Undefined Behavior Sanitizer (UBsan)를 사용할 때 최근에 제거한 문제를 이해하려고합니다. 버퍼를 정방향 또는 역방향으로 처리하는 코드가 있습니다. 대소 문자는 similar to the code shown below입니다. 0-len은 조금 이상하게 보일 수 있지만 초기 Microsoft .Net 컴파일러에