Для приложения для отладки C++ я хочу, чтобы можно было легко подсчитать количество кадров стоп-кадров. Есть ли функция ОС для этого?Как я могу подсчитать количество кадров стоп-кадров?
Мне это нужно для Windows и Posix, то есть для кросс-платформы. Решения для обеих платформ будут отличными.
Я могу ходить по стеклу, чтобы найти все фреймы, но я задавался вопросом, был ли простой вызов сделать это.
Последнее, что я слышал, они просто помещали случайные «куки» в стек стека, которые вам пришлось бы перезаписать, прежде чем перезаписывать обратный адрес. Затем в функции return cookie проверяется, и если он изменился, приложение завершается. – Eclipse
Чтобы указать на то, что куки-файлы Microsoft, хотя и интересны, уже были побеждены, и поэтому не следует полагаться на безопасность. Кадры стека действительно не помещены случайным образом, потому что это победит всю «стек» вещь. –
Я не имел в виду куки. Я имел в виду фактическое размещение кадра. Что потенциально может быть где угодно в памяти (с небольшим количеством дополнительной проводки от компилятора). Стек - это просто самый простой способ записи информации, которая технически не нужна для стека. –