Вопросы по теме 'stack-unwinding'

Как JVM узнает, где поймать исключение во время выполнения?
Насколько я понимаю, throw - это примитивная команда jvm. Когда это вызывается, JVM «проверяет, может ли текущий стек вызовов его перехватить». если это невозможно, то java просто извлекает стек вызовов почти точно так же, как если бы был вызван...
1675 просмотров

RAII способ получить ошибки, обнаруженные во время уничтожения
В типичном примере RAII для файлового ввода-вывода в Википедии любые ошибки, возникающие при закрытии файла, проглатываются: #include <iostream> #include <string> #include <fstream> #include <stdexcept> void write_to_file...
213 просмотров

Разматывание стека 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 просмотров

Исключение gdb ARM Cortex-M Раскручивание
Я работал с некоторыми устройствами Cortex-M4 (Freescale K60) с скомпилированными мной GCC (v4.7.2), BinUtils (v2.22), Newlib (v1.20) и GDB (v7.5). Меня всегда раздражала неспособность GDB избавляться от жестких исключений. недавно у меня была...
925 просмотров

Преобразование доступа к указателю 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 просмотров

Нужно ли вызывать 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