-
Notifications
You must be signed in to change notification settings - Fork 182
New debug dump functionality #2660
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
debug dumper: escape special characters in strings
@@ -75,7 +75,7 @@ set(VERSION_PATCH "${VERSION_PATCH}-beta") | |||
set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") | |||
|
|||
set(CMAKE_CXX_STANDARD_REQUIRED ON) | |||
set(CMAKE_CXX_STANDARD 11) | |||
set(CMAKE_CXX_STANDARD 17) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Всё-таки такая смена с 11 на 17 должна быть не постоянной, а только для CMAKE_BUILD_TYPE
равное например DEBUGextend
, т.е. даём разрабам возможность дебажить по старинке в стандарте 11 и по новому в стандарте 17 имея риск, что, если применены новомодности, то потом при сборке релиза в стандарте 11 они боком вылезут.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ага, это первая из моих хотелок в тикете. Надо делать и сборку дампера и общий режим C++17 отключаемыми вместе.
debug dumper: refactor to handle all output at once
debug dumper: add DUMPV for vars only log + refactor + improvements + containers support
Can you give some details about what it is? |
Это отладочный дампер переменных. Я эту кашу заварил, первый коммит (initial который) по моему коду сделан. В фаре 100500 типов строк, и при отладке куча времени уходит на то, чтобы вспомнить, какая именно тут у нас строка, которую задампить надо, и как она правильно выводится. В итоге сделали совместными усилиями штуку, которая позволяет делать так:
и получать на stderr понятный дамп, формат которого выше в первом сообщении описан. Работает только с C++17 (такую poor man's reflection сделать на более ранних прям сильно сложнее), поэтому я изначально думал только в Debug сборке это собирать, но сейчас уже, выходит, можно собирать всегда (но что там с производительностью? может, в релиз и не надо). |
GetMyHome - возможно. |
Ну это не логгер для юзверей, а штука для разработки и отладки. По крайней мере я так себе её представляю. |
debug dumper: more accurate single char/wchar_t handling + DUMPER.md fixes
А чего оно во FreeBSD не билдится? |
Что-то с CI? |
debug dumper: implement direct containers support (including nested) + refactor + EscapeString() improvement
rework of DCONT backend logic + add std::pair support + improve hex dump format
А на какой стадии тут у нас всё в итоге? |
Я думал немножко адаптировать код из far2l/src/syslog.hpp |
@elfmz Есть комментарии / возражения / пожелания? |
Очень хочется это в master! |
Коллеги, а напишите плз рез EEF8 юме, что у нас тут получилось. Может быть, его не хватает, для того, чтобы говорить о мерже |
Так в DUMPER.md всё описано, и кратко, и подробно. |
Update DUMPER.md: add output example
По мотивам #802
Предложения, замечания и PR в ветку Dazzar56/far2l/debug_dump приветствуются.
прямо сейчас лог дампиться вот в таком виде.