Some random GrafanCon EU 2k18 Notes – Telegram
Some random GrafanCon EU 2k18 Notes
73 subscribers
312 photos
9 files
54 links
Заметки по докладам на которые я пошел (начинаются с #talk) и флуд фоточками.

Связаться с автором можно так: @Civiloid
Download Telegram
Даже в поддержке gdb есть недоделки. Он умеет rust expresion'ы, но например не умеет unsized types
тут нужно узнавать самому как компилятор их расположил в памяти
traits тоже
нельзя дебажить что либо с trait'ами
перегрузка оператора тоже не очень работает
Поддержка дебагинга сделана в духе C++
DWARF конечно DWARF
но lldb хочет понимание того что происходит
и сейчас lldb считает что у нас все - это Си++
Собственно план
1. Научить lldb работать с растом
2. Начать пилить компилятор (добавить поддержку дебага в ллвм) и тулзы
3. Начать фиксить баги. Их полно.
4. Составить список того чего не хватает в DWARF и отправить пропозалы на добавление расширений.
С ходу даже есть парочка
5. И в далеком светлом будущем - не добавлять фичи без поддержки их в дебагере
Например год назад добавили компрессию enum'ов в компилятор, а в дебагер нет и дебагеру снесло крышу
Типичный workflow добавления патчей
1. Попатчить rust-llvm
2. Попатчить rustc
3. Попатчить gdb
4. Заапстримить патчи из №1 в llvm trunk
5. Пройти ревью
6. Бэк-поритровать и вернуться к пункту 1.
Причина почему патчат сначала rust-llvm - потому что там можно обкатать изменения
Почему патчим gdb а не lldb - потому что lldb завязан на Си++ и в нем нет плагинов