в процессе экпериментов c асмом мои программы часто вылетают с такой ошибкой (то память рид не может быть, то райт) вопрос: есть ли способ проверить область памяти на readable/writeable ? либо: как сделать обработку ошибок, вроде си-шного try/catch?
Раз часто вылетают, значит скорее всего это результат твоих собственных ошибок\описок в исходном коде и первым делом нужно искать причину ошибки с помощью отладчика Ну а проверить доступ к области памяти можно апишными функциями VirtualQuery, IsBadReadPtr, IsBadWritePtr Как сделать обработку ошибок см. в статьях Питрека и Гордона в переводе Oleg_SK PS: хотя не знаю какой прок от всего этого если ты, к примеру, просто забыл указать addr в масме или по неосторожности затер какой-то указатель
я понимаю, что ошибки мои родимые. просто бывают случаи, когда, например, при неудавшемся чтении памяти программа могла бы работать дальше, если бы не вылетала ошибка а еще меня убивают блуждающие ошибки, т.е. пока отлаживаю - все работает, работает некоторое время в релизе, а потом вылетает... причем вылетает стабильно при ошибке доступа к памяти
вот уж действительно, внимательней нужно быть: на свежую голову пересмотрел код - ошибку нашел, теперь непонятно как он вообще работал раньше