Size: a a a

2020 June 08

nn

no name in pro.cxx
Ярослав Фриш
Вопрос почему в  for (const auto& n: primitive[i]) на 7 итераций я получаю Segmentation fault
std::vector <ULL> primitive [7]; от 0 до 6 включительно
источник

ЯФ

Ярослав Фриш... in pro.cxx
Ай, да точно спасибо, затупил
источник
2020 June 09

ИС

Игорь Солодуев... in pro.cxx
Подскажите, есть ли в мире С++ автоматически генерируемый логгер для проекта? Нужно видеть последовательность всех вызовов функций с переданными в них параметрами  (те которые можно напечатать)

Условно, хотелось бы иметь всегда диагностическую сборку dll с таким логгером, чтобы воспроизводить редко возникающие у клиентов проблемы.
источник

A

ARCHANGEL in pro.cxx
О, и мне хотелось бы
источник

IA

Igor Akhmetov in pro.cxx
Игорь Солодуев
Подскажите, есть ли в мире С++ автоматически генерируемый логгер для проекта? Нужно видеть последовательность всех вызовов функций с переданными в них параметрами  (те которые можно напечатать)

Условно, хотелось бы иметь всегда диагностическую сборку dll с таким логгером, чтобы воспроизводить редко возникающие у клиентов проблемы.
Вроде должно быть понятно что слишком специализированная задача и тула такого скорее всего нет. Либо расставляйте логгинг руками, либо напишите тул на clang который будет добавлять код в нужных местах, но я думаю больше сил на тул потратите.
источник

ИС

Игорь Солодуев... in pro.cxx
Igor Akhmetov
Вроде должно быть понятно что слишком специализированная задача и тула такого скорее всего нет. Либо расставляйте логгинг руками, либо напишите тул на clang который будет добавлять код в нужных местах, но я думаю больше сил на тул потратите.
Как раз хотелось бы не расставлять руками логи, а иметь готовый тул.
Пока все что пока нашел, это то, что у MSVC есть флаг /GH /Gh иl можно выводить информацию о вызове функций.
https://docs.microsoft.com/en-us/cpp/build/reference/gh-enable-pexit-hook-function?redirectedfrom=MSDN&view=vs-2019

Вот подумал, может кто-то тут решал подобную проблему.
источник

М

Михаил in pro.cxx
Игорь Солодуев
Подскажите, есть ли в мире С++ автоматически генерируемый логгер для проекта? Нужно видеть последовательность всех вызовов функций с переданными в них параметрами  (те которые можно напечатать)

Условно, хотелось бы иметь всегда диагностическую сборку dll с таким логгером, чтобы воспроизводить редко возникающие у клиентов проблемы.
источник

М

Михаил in pro.cxx
Эта тулза, вроде как много чего еще умеет
источник

OS

Oleksandr Senkovych in pro.cxx
Я не думаю что она очень точная
источник

OS

Oleksandr Senkovych in pro.cxx
Я так понимаю что эта либа - основа vtune, т.е. инструмент для семплинга.
источник

OS

Oleksandr Senkovych in pro.cxx
Т.е. если у тебя единоразовое событие которое нужно исследовать, то оно вряд-ли поможет
источник

ПК

Побитый Кирпич... in pro.cxx
Игорь Солодуев
Подскажите, есть ли в мире С++ автоматически генерируемый логгер для проекта? Нужно видеть последовательность всех вызовов функций с переданными в них параметрами  (те которые можно напечатать)

Условно, хотелось бы иметь всегда диагностическую сборку dll с таким логгером, чтобы воспроизводить редко возникающие у клиентов проблемы.
Свой кодогенератор на кланге, должно быть не сложно
источник

A

ARCHANGEL in pro.cxx
Oleksandr Senkovych
Я не думаю что она очень точная
Она медленная, и она иногда падает
источник

OS

Oleksandr Senkovych in pro.cxx
Вообще у intel есть интересная фича: https://software.intel.com/en-us/node/721535
источник

OS

Oleksandr Senkovych in pro.cxx
оно пишет в кольцевой буфер все бранчи которые совершает процессор
источник

OS

Oleksandr Senkovych in pro.cxx
но у меня руки не дошли еще - мне на работе только выдали машину с kaby lake процом где это поддерживается, и тут карантин нагрянул
источник

AT

Anatoly Tomilov in pro.cxx
Oleksandr Senkovych
но у меня руки не дошли еще - мне на работе только выдали машину с kaby lake процом где это поддерживается, и тут карантин нагрянул
а какое поколение самое старое из поддерживающих?
источник

OS

Oleksandr Senkovych in pro.cxx
Anatoly Tomilov
а какое поколение самое старое из поддерживающих?
http://halobates.de/blog/p/410 тут пишут что начиная с broadwell
источник

AT

Anatoly Tomilov in pro.cxx
новьё
источник

AS

Alexey Sokolovskiy in pro.cxx
Привет,
Есть простая программа
#include <future>
#include <iostream>

int func() {
   return 42;
}

int main() {
   auto f = std::async(func);
   std::cout << f.get() << std::endl;
}
Если ее компилировать как g++ -O2 -o a a.cpp -fsanitize=thread, то все работате хорошо
Если как g++ -O2 -o a a.cpp -fsanitize=thread,undefined, то thread sanitizer ругается на data race.
Правильно я понимаю, что просто thread и UB санитайзеры не совместимы? И если так, где найти информацию о совместимости санитайзеров?
И если они действительно несовместимы, то почему это компилируется, а не падает с ошибкой как при -fsanitize=address,thread?
Спасибо
Версия G++: g++ (GCC) 10.1.0
источник