англійськафранцузькаіспанська

Ad


Значок OnWorks

frama-c-gui - Інтернет у хмарі

Запустіть frama-c-gui у постачальнику безкоштовного хостингу OnWorks через Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

Це команда frama-c-gui, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн емулятор Windows або онлайн емулятор MAC OS

ПРОГРАМА:

ІМ'Я


frama-c[.byte] - статичний аналізатор для програм C

frama-c-gui[.byte] - графічний інтерфейс frama-c

СИНТАКСИС


frama-c [ опції ] файли

ОПИС


frama-c — це набір інструментів, присвячених аналізу вихідного коду, написаного на C. It
збирає кілька методів статичного аналізу в єдину спільну структуру. Це
Framework можна розширити за допомогою додаткових плагінів, розміщених у $FRAMAC_PLUGIN каталог.
Команда

frama-c -довідка

надасть повний список плагінів, які зараз встановлені.

frama-c-gui є графічним інтерфейсом користувача frama-c. Він має ті ж параметри, що і
версія командного рядка.

frama-c.byte та frama-c-gui.byte – це версії байт-коду ocaml командного рядка та
графічний інтерфейс користувача відповідно.

За замовчуванням Frama-C розпізнає .c файли як файли C, які потребують попередньої обробки та .i файли як
Файли C вже попередньо оброблені. Деякі плагіни можуть розширювати список розпізнаних
файли. Попередню обробку можна налаштувати за допомогою -cpp-команда та -cpp-extra-args
Варіанти.

ВАРІАНТИ


синтаксис

Опції, що беруть додатковий параметр, також можна записати під форму

-варіант=парам

Цей параметр є обов’язковим, коли парам починається з тире ('-')

Більшість параметрів, які не мають параметрів, мають відповідні параметри

-немає-Опція

варіант, який має протилежний ефект.

Документи опції

-допомога надає коротке сповіщення про використання та список встановлених плагінів.

-ядро-допомога
друкує список опцій, розпізнаних ядром Frama-C

-вербозний n
Встановлює рівень детальності (за замовчуванням 1). Встановлення значення 0 призведе до меншого прогресу
повідомлення. Цей рівень також можна встановити на per підключати основа, з опцією -підключати-
докладний n. Рівнем детальності ядра можна керувати за допомогою параметра
-kernel-verbose n.

-відлагоджувати n
Встановлює рівень налагодження (за замовчуванням 0, що означає відсутність повідомлень про налагодження). Цей варіант
має ті самі спеціалізації для плагіна (і ядра), що і -вербозний.

-спокійно Встановлює рівень детальності та налагодження на 0.

Опції управління Frama-C ядро

-абсолютний-дійсний-діапазон
вважає, що всі числові адреси в діапазоні хв-макс дійсні. Межі є
аналізується як цілі константи ocaml. За замовчуванням усі числові адреси є
вважається недійсним.

-додати-шлях p1[,p2[...,pn]]
додає каталоги через до списку каталогів, у яких знаходяться плагіни
шукали

[-no]-дозволити дублювання
дозволяє дублювати невеликі блоки під час нормалізації тестів і циклів.
В іншому випадку для нормалізації використовуються мітки та goto. Більші блоки та блоки без
тривіальний потік управління ніколи не дублюється. За замовчуванням – так.

[-ні]-аннот
читає анотацію ACSL. Це значення за замовчуванням. Анотації попередньо не обробляються
за замовчуванням. Використовуйте -pp-аннот для цього.

-big-ints-hex Макс
цілі числа, більші ніж Макс відображаються в шістнадцятковому форматі (за замовчуванням усі цілі числа є
відображається в десятковій формі)

- перевірити виконує перевірку цілісності внутрішнього AST (лише для розробників).

[-no]-collapse-call-cast
дозволяє неявне перетворення між значенням, яке повертає функція, і значенням l, яким воно є
присвоєно. В іншому випадку використовується тимчасова змінна, і приведення стає явним.
За замовчуванням – так.

[-no]-constfold
перед аналізом згортає всі синтаксично постійні вирази в коді. Значення за замовчуванням
до ні.

[-no]-continue-annot-error
Під час аналізу анотації поведінка за замовчуванням ( -немає версія цієї опції)
коли виникає помилка перевірки типу, потрібно відхилити вихідний файл, як і у випадку
помилки перевірки типу в коді C. Якщо цей параметр увімкнено, перевірка типів буде
вивести лише попередження та відкинути анотацію, але перевірка типу триватиме
(однак помилки в коді C все ще є фатальними).

-cpp-команда CMD
Використовує CMD як команда для попередньої обробки файлів C. За замовчуванням на CPP навколишнє середовище
змінна або до

gcc -C -E -I.

якщо він не встановлений. Щоб зберегти анотації ACSL, препроцесор повинен зберегти
коментарі ( -C варіант для gcc). %1 та %2 може використовуватися в CMD позначати
оригінальний вихідний файл і попередньо оброблений файл відповідно

-cpp-extra-args аргументи
Надає додаткові аргументи препроцесору. Це корисно лише тоді, коли
-попередній процес-аннот встановлено. Попередня обробка анотацій виконується у двох окремих попередніх
етапи обробки. Перший - це звичайний перехід на код C, який зберігає макрос
визначення. Потім вони використовуються під час другого проходу, під час якого створюються анотації
попередньо оброблені. аргументи використовуються лише для першого проходу, тому аргументи що
не слід використовувати двічі (наприклад, додаткові директиви include або макрос
визначення) повинні, таким чином, йти туди замість -cpp-команда.

[-no]-dynlink
Коли увімкнено, завантажте всі динамічні плагіни, знайдені в шляху пошуку (див -print-plugin-
шлях для отримання додаткової інформації про шлях пошуку за замовчуванням). В іншому випадку тільки плагіни
з проханням -модулі навантаження буде завантажено. Поведінка за замовчуванням увімкнено.

-перерахування передрук
Виберіть спосіб визначення представлення перерахованих типів. frama-c
-перерахування допомога надає список доступних опцій. За замовчуванням є gcc-перерахування

- float-digits n
Під час виведення чисел з плаваючою комою відобразити n цифри. За замовчуванням 12.

-float-flush-до нуля
Операції з плаваючою комою зводяться до нуля

-float-hex
відображати плаває у шістнадцятковому

-float-нормальний
дисплей плаває за допомогою стандартної процедури Ocaml

-поплавковий відносний
відобразити інтервал float як [ нижча_межа++ширина ]

[-no]-force-rl-arg-eval
змушує порядок оцінки справа наліво для аргументів викликів функцій. Інакше
порядок оцінки залишається невизначеним, як у стандарті C. За замовчуванням немає.

-журнал-вимкнути
Не виводити журнал поточного сеансу. Побачити -journal-enable.

-journal-enable
Увімкнено за замовчуванням, виводить журнал усіх дій, виконаних протягом поточного
Сеанс Frama-C у вигляді сценарію ocaml, який можна відтворити -завантаження-
сценарій. Ім'я сценарію можна встановити за допомогою -назва журналу варіант.

-назва журналу ім'я
Встановіть назву файлу журналу (без файлу .ml розширення). За замовчуванням
frama_c_journal.

-initialized-padding-locals
Неявна ініціалізація локальних елементів встановлює біти заповнення в 0. Якщо false, біти заповнення
залишаються неініціалізованими (за замовчуванням так).

[-no]-keep-comments
Намагається зберегти коментарі під час гарного друку вихідного коду (за замовчуванням немає).

[-no]-keep-switch
Коли -simplify-cfg встановлено, зберігає оператори switch. За замовчуванням немає.

-зберігати-невикористані-вказані-функції
Читати -remove-unused-specified-functions

[-no]-lib-entry
Вказує, що точка входу викликається під час виконання програми. Це має на увазі в
Зокрема, не можна вважати, що глобальні змінні мають свої початкові значення.
За замовчуванням - -no-lib-entry: точка входу також є початковою точкою
програма і глобали мають своє початкове значення.

-навантаження файл
завантажити (раніше збережений) стан, що міститься в файл.

-модуль навантаження m1[,m2[...,mn]]
завантажує модулі ocaml через . Ці модулі повинні бути .cmxsфайли для
рідна версія коду Frama-c і .cmoor.cmaфайли для версії байт-коду (див
розділ Dynlink посібника з Ocaml для отримання додаткової інформації). Усі модулі, які є
наявні в плагіні шляхи пошуку автоматично завантажуються.

-load-скрипт s1[,s2,[...,sn]]
завантажує скрипти ocaml через . Скрипти повинні бути .mlфайли. Вони
має бути компілюваним, спираючись лише на стандартну бібліотеку Ocaml та API Frama-C. Якщо
потрібен певний етап компіляції, компілюйте їх поза Frama-C і використовуйте
-модуль навантаження замість цього.

-мачдеп машина
використовує машина як поточна залежна від машини конфігурація (розмір різних
цілі типи, кінець, ...). Список машин, які зараз підтримуються
доступні через -мачдеп допомога варіант. За замовчуванням є x86_32

-основна f
набори f як точка входу в аналіз. За замовчуванням 'основний'. За замовчуванням це так
розглядається як відправна точка аналізованої програми. Використовуйте -lib-запис if f
передбачається викликати в середині виконання.

-заплутувати
друкує обфусцовану версію коду (де оригінальні ідентифікатори замінені
безглуздим) і виходить. Таблиця відповідності між оригінальним і новим
символи зберігаються на початку результату.

-ocode файл
перенаправляє добре надрукований код до файл замість стандартного виведення.

[-no]-origin-name
Під час фази нормалізації деякі змінні можуть бути перейменовані, якщо вони відрізняються
змінна з однаковою назвою може існувати одночасно (наприклад, глобальна змінна і формальна змінна
параметр). Коли цей параметр увімкнено, щоразу, коли це відбувається, друкується повідомлення.
За замовчуванням немає.

[-no]-warn-signed-downcast
генерувати нагадування, коли підписані передачі можуть перевищувати діапазон призначення (за замовчуванням до
ні).

[-no]-warn-signed-overflow
генерувати нагадування для підписаних операцій, які переповнюються (за замовчуванням є так).

[-no]-warn-unsigned-downcast
генерувати нагадування, коли непідписані передачі можуть перевищувати діапазон призначення (за замовчуванням
на ні).

[-no]-warn-unsigned-overflow
генерувати нагадування для непідписаних операцій, які переповнюються (за замовчуванням немає).

[-ні]-pp-annot
анотації попередньої обробки. Наразі це можливо лише при використанні gcc (або GNU
cpp) попередній процесор. За замовчуванням анотації попередньо не обробляються.

[-ні]-друк
pretty-друкує вихідний код, нормований CIL (за замовчуванням немає).

-print-libpath
виводить каталог, де встановлено бібліотеку ядра Frama-C

-шлях друку
псевдонім -print-share-path

-print-plugin-path
виводить каталог, де Frama-C шукає свої плагіни (може бути перевизначено за допомогою
FRAMAC_PLUGIN змінної та -додати-шлях опція)

-print-share-path
виводить каталог, в якому Frama-C зберігає свої дані (може бути перевизначено файлом
FRAMAC_SHARE змінна)

-remove-unused-specified-functions
зберігає прототипи функцій, які мають специфікацію ACSL, але не використовуються в
код. Це значення за замовчуванням. Функції, що мають атрибут FRAMAC_BUILTIN завжди
збережений.

-безпечні масиви
Для багатовимірних масивів або масивів, які є полями всередині структур, передбачається, що
всі доступи мають бути прив’язаними (встановлено за замовчуванням). Протилежний варіант -небезпечно-
масиви

- зберегти файл
Зберігає стан Frama-C у файл після проведення аналізів.

[-no]-simplify-cfg
видаляє оператор break, continue та switch перед аналізом. За замовчуванням немає.

-тоді дозволяє складати аналізи: перший запуск Frama-C відбудеться з параметрами
перед тим -тоді і другий запуск буде виконано з параметрами після -тоді на
поточний проект з першого запуску.

-тоді prj
Як і в -тоді за винятком того, що другий запуск виконується в проекті prj Якщо такого немає
проект існує, Frama-C виходить із помилкою.

-час файл
додає час і дату користувача в задані файл коли Frama-C виходить.

-перевірка типу
змушує перевіряти типи вихідних файлів. Ця опція актуальна, лише якщо більше немає
запитується аналіз (оскільки перевірка типу неявно відбувається перед аналізом
запускається).

- рівень n
синтаксично розгортати цикли n разів перед аналізом. Це може коштувати досить дорого
а деякі плагіни (наприклад, аналіз цінностей) забезпечують більш ефективні способи виконання
Те ж саме. Для отримання додаткової інформації дивіться відповідні посібники. Це також може
бути активовано на основі циклу через петля прагма розгорнути директива. A
від’ємне значення для n буде гальмувати такі прагми.

[-ні]-юнікод
виводить формули ACSL із символами utf8. Це значення за замовчуванням. Коли дано
-не-юнікод Frama-C замість цього використовуватиме версію ASCII. Дивіться посібник ACSL
для листування.

-небезпечні масиви
побачити -безпечні масиви

[-no]-unspecified-access
перевіряє, що доступи читання/запису відбуваються в невизначеному порядку (відповідно до C
стандартне поняття точки послідовності) виконуються в окремих місцях. З
-no-unspecified-access, передбачає, що це завжди так (це за замовчуванням).

-версія
виводить рядок версії Frama-C

-warn-decimal-float
попереджає, коли константа з плаваючою комою не може бути точно представлена ​​(наприклад, 0.1).
може бути одним з ніхто, один разабо всі

[-no]-warn-undeclared-callee
попереджає, коли функція викликається до того, як вона була оголошена (встановлено за замовчуванням).
Фрама-С

Модулі конкретний опції

Для кожного підключати, команда

frama-c -підключати-допомога

надасть список опцій, характерних для плагіна.

EXIT СТАТУС


0 Успішне виконання

1 Недійсний введений користувачем

2 Переривання користувача (знищення або еквівалент)

3 Нереалізована функція

4 5 6 Internal error

125 Невідома помилка

Статус виходу більше 2 може розглядатися як помилка (або запит функції для випадку
статусу виходу 3) і може передаватися на BTS Frama-C (див. нижче).

НАВКОЛИШНЄ СЕРЕДОВИЩЕ ЗМІННІ


Можна керувати місцями, де Frama-C шукає свої файли через
наступні змінні.

FRAMAC_LIB
Каталог, де інстальовано скомпільовані інтерфейси ядра

FRAMAC_PLUGIN
Каталог, де Frama-C може знайти стандартні плагіни. Якщо ви хочете мати плагіни
в кількох місцях корист -додати-шлях замість цього.

FRAMAC_SHARE
Каталог, де інстальовано дані Frama-C.

Використовуйте frama-c-gui онлайн за допомогою служб onworks.net


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

  • 1
    Phaser
    Phaser
    Phaser — це швидке, безкоштовне та веселе відкриття
    вихідний ігровий фреймворк HTML5, який пропонує
    Взаємовідображення WebGL і Canvas
    настільні та мобільні веб-браузери. Ігри
    можна спільно...
    Завантажити Phaser
  • 2
    Двигун ВАССАЛ
    Двигун ВАССАЛ
    VASSAL — ігровий движок для створення
    електронні версії традиційної дошки
    і карткові ігри. Він забезпечує підтримку для
    рендеринг і взаємодія ігрових елементів,
    і ...
    Завантажити VASSAL Engine
  • 3
    OpenPDF - форк iText
    OpenPDF - форк iText
    OpenPDF - це бібліотека Java для створення
    і редагування файлів PDF за допомогою LGPL і
    Ліцензія з відкритим кодом MPL. OpenPDF - це
    LGPL/MPL з відкритим кодом наступник iText,
    має ...
    Завантажте OpenPDF - Fork of iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - Система для автоматизації
    Географічні аналізи - це географічні
    Програмне забезпечення інформаційної системи (ГІС) с
    величезні можливості для геоданих
    обробка та ана...
    Завантажити SAGA GIS
  • 5
    Панель інструментів для Java/JTOpen
    Панель інструментів для Java/JTOpen
    IBM Toolbox для Java / JTOpen є a
    бібліотека класів Java, що підтримують
    програмування клієнт/сервер та Інтернет
    моделі до системи під керуванням OS/400,
    i5/OS, o...
    Завантажте Toolbox для Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (або D3 для документів, керованих даними)
    це бібліотека JavaScript, яка дозволяє вам
    створювати динамічні інтерактивні дані
    візуалізації у веб-браузерах. З D3
    ти ...
    Завантажити D3.js
  • Детальніше »

Команди Linux

  • 1
    abidiff
    abidiff
    abidiff - порівняння ABI файлів ELF
    abidiff порівнює двійковий файл програми
    Інтерфейси (ABI) двох спільних бібліотек
    у форматі ELF. Воно випромінює змістовне
    звіт...
    Запустіть abidiff
  • 2
    abidw
    abidw
    abidw - серіалізує ABI ELF
    файл abidw читає спільну бібліотеку в ELF
    форматує та створює представлення XML
    свого ABI до стандартного виводу. The
    випущений ...
    Запустіть abidw
  • 3
    copac2xml
    copac2xml
    bibutils - перетворення бібліографії
    комунальні послуги ...
    Запустіть copac2xml
  • 4
    копт
    копт
    copt - оптимізатор вічка SYSNOPIS:
    файл copt.. ОПИС: copt - це a
    оптимізатор вічко загального призначення. Це
    читає код зі свого стандартного вводу та
    пише...
    Біг копт
  • 5
    gather_stx_titles
    gather_stx_titles
    gather_stx_titles - заголовок збірки
    декларації з документів Stx ...
    Запустіть gather_stx_titles
  • 6
    гатлінг-бенч
    гатлінг-бенч
    bench - http benchmark ...
    Лава для бігу Гатлінга
  • Детальніше »

Ad