Как я могу предотвратить подозреваемый бесконечный l oop в следующем сценарии?
- Вся кодовая база C ++ оснащается clang во время сборки, используя проход LLVM, который ищет
llvm.memcpy
встроенные функции и вставка пост-вызова в среду выполнения инструментария - Среда выполнения инструментария содержит структуру
std::map
- Базовый код libc ++, который реализует
std::map
, инструментирован и, в свою очередь, вызывает снова выполнение инструментария
Когда я запускаю программу, она останавливается после первого вызова инструментария. Подозреваемый l oop - это trace_memcpy
> std::map::operator[]
> trace_memcpy
> и т. Д.
Есть ли способ замкнуть это l oop, например, может ли библиотека приборов проверить вызов стек, чтобы увидеть, что это уже в , вызов стека и ранний возврат из функции trace_memcpy
?
Спасибо:)