Вопросы по теме 'stack-unwinding'
Как JVM узнает, где поймать исключение во время выполнения?
Насколько я понимаю, throw - это примитивная команда jvm. Когда это вызывается, JVM «проверяет, может ли текущий стек вызовов его перехватить». если это невозможно, то java просто извлекает стек вызовов почти точно так же, как если бы был вызван...
1675 просмотров
schedule
20.03.2022
RAII способ получить ошибки, обнаруженные во время уничтожения
В типичном примере RAII для файлового ввода-вывода в Википедии любые ошибки, возникающие при закрытии файла, проглатываются:
#include <iostream>
#include <string>
#include <fstream>
#include <stdexcept>
void write_to_file...
213 просмотров
schedule
06.07.2022
Разматывание стека x64 и проверка наличия RIP в эпилоге
Я хочу раскрутить стек вызовов x64, поэтому я пытаюсь следовать "процедуре UNWIND", которую я нашел здесь: http://msdn.microsoft.com/en-us/library/8ydc79k6.aspx
Я понимаю, что если RIP находится в эпилоге, нам нужно вычислить смещение RSP с...
643 просмотров
schedule
03.12.2022
iOS раскрутить для просмотра не загруженный
Я перед небольшой проблемой:
У меня что-то подобное при запуске приложения:
(1) Заставка --> Я зарегистрирован? --> (3) Домашний вид | еще (2) Вход в систему
Поэтому, когда я вхожу в систему, я перехожу к домашнему виду. И когда я выхожу...
176 просмотров
schedule
13.06.2023
Исключение gdb ARM Cortex-M Раскручивание
Я работал с некоторыми устройствами Cortex-M4 (Freescale K60) с скомпилированными мной GCC (v4.7.2), BinUtils (v2.22), Newlib (v1.20) и GDB (v7.5). Меня всегда раздражала неспособность GDB избавляться от жестких исключений.
недавно у меня была...
925 просмотров
schedule
23.11.2022
Преобразование доступа к указателю NULL в исключение C++ в Linux/GCC
Есть ли способ преобразовать доступ к указателю NULL в исключение C++ в Linux? Что-то похожее на исключение NullPointerException в Java. Я надеюсь, что следующая программа завершится успешно, а не с ошибкой (предположим, что компилятор не может...
580 просмотров
schedule
22.03.2023
Как выйти из процесса без раскручивания в C++98?
В C++11 или более поздних версиях мы можем вызвать std::quick_exit для выхода из процесса без какой-либо раскрутки, то есть деструктор не будет вызываться [после | во время] std::quick_exit .
У меня есть проект:
У него есть глобальный...
342 просмотров
schedule
05.11.2022
Нужно ли вызывать unlock() в конце цикла (для локального unique_lock)?
Это:
std::mutex mutex;
for () {
std::unique_lock<mutex> lock(mutex);
// do something
lock.unlock();
}
Эквивалентно этому с точки зрения освобождения и получения блокировки на каждой итерации цикла for?
std::mutex mutex;
for...
63 просмотров
schedule
09.03.2023
раскручивание стека в dwarf2
Я не понимаю, как раскручивание стека в dwarf2 обеспечивает надежное восстановление аргументов в некоторых очень простых сценариях ABI (двоичный интерфейс приложения). Рассмотрим ABI, в котором говорится, что первые три аргумента должны находиться в...
643 просмотров
schedule
30.04.2024