LLVM: Как добавить дебажную инфу про функцию, порванную на 2 файла?
От: T4r4sB Россия  
Дата: 19.12.18 16:57
Оценка:
Такая ситуация возможна при использовании жирного макроса.
Дело в том, что DILocation (это который в конце файла
!389 = !DILocation(line: 10, column: 21, scope: !387)

) содержит только инфу про строку, колонну, скоп. И скоп — это инфа о функции, в которой находится эта локация. Но ведь локация и начало функции могут находиться в разных файлах! Я пробовал скоп подменять или добавлять инфу с фейковыми функциями, но Шлангу от такого плохеет. Тупо добавить инфу про файл в DILocation нельзя. Обычно компилятор просто туда пишет точку, в которой подставили макрос, но это как-то не очень удобно. Если просто писать строку и столбец, то при отладке отладчик показывает строку и столбец в том файле, где находится начало функции, а не в том, где объявлен макрос, это тоже нифига не удобно.
Какие ещё есть варианты.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.