Size: a a a

2020 June 02

AV

Alexander Vershilov in Haskell
Нирабатет, может конечно откуда-то и можно собрать, но brew install —head при установке пишет, что на каталине не работает
источник

MK

Maxim Koltsov in Haskell
Alexander Vershilov
интернеты предлагают clang -fsanitize=memory, но кажется это не поможет хаскельную программу прогнать?
Для этого надо было бы ртс пересобрать с этим флагом
Я пробовал санитайзить сишную либу, которая через ffi подключается, но для этого надо чтобы либа санитайзера была загружена в твой процесс. У меня никаким ld_preload это сделать не вышло
источник

MK

Maxim Koltsov in Haskell
Правда у меня эта либа в тх вызваалась, может из-за этого не вышло
источник

AV

Alexander Vershilov in Haskell
Maxim Koltsov
Для этого надо было бы ртс пересобрать с этим флагом
Я пробовал санитайзить сишную либу, которая через ffi подключается, но для этого надо чтобы либа санитайзера была загружена в твой процесс. У меня никаким ld_preload это сделать не вышло
Кажется не только rts а собирать всю программу, мне ж не только rts надо
источник

AV

Alexander Vershilov in Haskell
С valgrind-ом то берэшь чужой executable как-то собранный и норм
источник

AV

Alexander Vershilov in Haskell
Я уверен, что и под macos есть решения, просто я их не нагуглил
источник

MK

Maxim Koltsov in Haskell
Alexander Vershilov
С valgrind-ом то берэшь чужой executable как-то собранный и норм
Ага)
источник

MK

Maxim Koltsov in Haskell
А что, у тебя нет линуксового сервера где можно подебажить?
источник

AV

Alexander Vershilov in Haskell
есть
источник

A

Antonio in Haskell
@qnikst вообще valgrind работает на catalina, но надо вручную исходники ковырять
источник

IK

Ilya Kos in Haskell
Alexander Vershilov
А что на маке вместо valgrind использовать?
Я точно знаю что Xcode умеет такое делать. Подозреваю что это опция у clang
источник

IK

Ilya Kos in Haskell
Alexander Vershilov
интернеты предлагают clang -fsanitize=memory, но кажется это не поможет хаскельную программу прогнать?
А у GHC же вроде была опция по использованию внешнего кодогенератор как-то
источник

AV

Alexander Vershilov in Haskell
-optc
источник

IK

Ilya Kos in Haskell
Ну
источник

AV

Alexander Vershilov in Haskell
Antonio
@qnikst вообще valgrind работает на catalina, но надо вручную исходники ковырять
А без этого valgrind-like expepirience получить можно?
источник

A

Antonio in Haskell
прям чтоб сразу комбайном, и чтобы ничего не делать? не знаю
источник

AV

Alexander Vershilov in Haskell
Достаточно сказать, не туда данные пишешь/читаешь
источник

AV

Alexander Vershilov in Haskell
Т.е. полноценный valgrind с тредсатинайзерами, проверкой того из кешей ли данные берутся не нужен. Просто какая-то тупая проверка, что я не читаю из неинициализированной памяти или не пишу в чужое
источник

A

Antonio in Haskell
ну -fsanitize=address уже предлагали :)
источник

DI

Dmitry Ivanov in Haskell
Alexander Vershilov
Dmitry а зачем в ghc-prometheus-metrics все метрики в IO? там же чистые фунции все?
там есть пара метрик под #ifdef GHC<8.4, которые делают IO
источник