GDB с Emacs и F*

Я хотел бы отладить простую F* программу, используя Emacs fstar-mode и gdb. В самом конце вики режима fstar https://github.com/FStarLang/fstar-mode.el есть информация:

The fstar-gdb command (M-x) attaches GDB to the current F* process and launches Emacs' GDB-mi interface

без дальнейших объяснений.

Когда в Emacs (допустим, я редактирую файл Test.fst), я вызываю fstar-gdb командовать и перейти к gdb консоль я пытаюсь использовать команды file Test а также run, Они работают правильно, однако break 3 (или любая другая строка) говорит, что не удалось найти строку 3 в main.c (Очевидно).

Как я использую gdb с F*?

1 ответ

Решение

Команда fstar-gdb предназначена для самого отладчика F*, а не для программ, скомпилированных с F*.

Для программ F* лучше всего будет:

  • ocamldebug, если вы используете байт-компилятор
  • обычная процедура отладки программ OCaml в GDB (см. https://ocaml.org/meetings/ocaml/2012/slides/oud2012-paper5-slides.pdf; это потому, что большинство программ F* перед компиляцией извлекаются в OCaml),
  • обычная процедура отладки GDB-программ на C, если вы используете Low*.
Другие вопросы по тегам