Сегодня 15 июля, вторник ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7281
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
coding4.net
coding4.net
Голосов: 1
Адрес блога: http://www.coding4.net/
Добавлен: 2012-06-11 20:16:46
 

Обработка и логирование исключений под Windows и в веб сервисах (часть 11)

2013-08-19 16:43:00 (читать в оригинале)


исключения

Продолжаю цикл переводов понравившейся мне статьи автора James Dingle про исключения. Первый пост посвященный этой статье находится здесь.

9. Сохраняйте дампы

Функция Win32 API MiniDumpWriteDump() позволяет вам сохранить дамп и продолжить выполнение приложения. Это очень удобный шаблон для улучшения разрешения проблем, в дополнение к логам. Это очевидно довольно дорогой процесс. Так что использовать его нужно, довольно редко. Но обычно результаты оказываются очень ценными.

Здесь написано как сделать это на Си: http://blogs.msdn.com/b/joshpoley/archive/2008/05/19/prolific-usage-of-minidumpwritedump-automating-crash-dump-analysis-part-0.aspx .

Дальше будет пример на C#. Вы также можете найти много примеров в интернете. Как только дамп сгенерирован и сохранен. Вы просто открываете его в Visual Studio. И имеете доступные исходные коды (возможно имелось ввиду, что для разбора они нужны).

Важно чтобы вы вызывали этот метод внутри вашего блока catch. Сделав так вы получите исключение встроенное (сохраненное) в дампе. И указатель текущей инструкции будет установлен на строке с ошибкой. А не на строке, в которой дамп был создан.

using System;
using System.Diagnostics;
using System.IO;
using System.Runtime.InteropServices;


namespace Sample
{
  /// /// Creates a mini dump of the current process ///
  internal static class MiniDump
  {
    public static void CreateDump(string path, MiniDumpType miniDumpType)
    {
      var exceptionInfo = new MiniDumpExceptionInfo
        {
        ThreadId = GetCurrentThreadId(),
        ExceptionPointers = Marshal.GetExceptionPointers(),
        ClientPointers = false // false because own process
        };
      Process process = Process.GetCurrentProcess();

      using (var stream = new FileStream(path, FileMode.Create))
      {
        Debug.Assert(stream.SafeFileHandle != null);

        // The problem Marshal.GetExceptionPointers can return null on x86 machines due to differences
        // in low-level exception handling.
        // Then passing a MiniDumpExceptionInfo structure with a NULL ExceptionPointers members causes an
        // access violation. So we only pass this structure if we got a valid ExceptionPointers member.
        // It will probably result that x86 machines will see the instruction pointer to the MiniDumpWriteDump
        // line and not the exception itself.
        IntPtr exceptionInfoPtr = Marshal.AllocHGlobal(Marshal.SizeOf(exceptionInfo));
        Marshal.StructureToPtr(exceptionInfo, exceptionInfoPtr, false);

        try
        {
          MiniDumpWriteDump(
          process.Handle,
          process.Id,
          stream.SafeFileHandle.DangerousGetHandle(),
          miniDumpType,
          exceptionInfo.ExceptionPointers == IntPtr.Zero ? IntPtr.Zero : exceptionInfoPtr,
          IntPtr.Zero,
          IntPtr.Zero);
        }
        catch (Exception exception)
        {
          Trace("Cannot generate the mini-dump because of exception " + exception);
        }

        Marshal.FreeHGlobal(exceptionInfoPtr);
      }
    }

    [DllImport("kernel32.dll")]
    private static extern int GetCurrentThreadId();

    [DllImport("DbgHelp.dll", SetLastError = true, CallingConvention = CallingConvention.Winapi)]
    private static extern Boolean MiniDumpWriteDump(
      IntPtr hProcess,
      Int32 processId,
      IntPtr fileHandle,
      MiniDumpType dumpType,
      IntPtr excepInfo,
      IntPtr userInfo,
      IntPtr extInfo);

    [StructLayout(LayoutKind.Sequential, Pack = 4)]
    private struct MiniDumpExceptionInfo
    {
      public Int32 ThreadId;
      public IntPtr ExceptionPointers;

      [MarshalAs(UnmanagedType.Bool)]
      public bool ClientPointers;
    }
  }

  [Flags]
  internal enum MiniDumpType
  {
    Normal = 0x00000000,
    WithDataSegs = 0x00000001,
    WithFullMemory = 0x00000002,
    WithHandleData = 0x00000004,
    FilterMemory = 0x00000008,
    ScanMemory = 0x00000010,
    WithUnloadedModules = 0x00000020,
    WithIndirectlyReferencedMemory = 0x00000040,
    FilterModulePaths = 0x00000080,
    WithProcessThreadData = 0x00000100,
    WithPrivateReadWriteMemory = 0x00000200,
    WithoutOptionalData = 0x00000400,
    WithFullMemoryInfo = 0x00000800,
    WithThreadInfo = 0x00001000,
    WithCodeSegs = 0x00002000,
    WithoutAuxiliaryState = 0x00004000,
    WithFullAuxiliaryState = 0x00008000
  }
}



Все, на этом статья заканчивается.



Теперь Unity поддерживает Windows 8 и Xbox

2013-08-19 14:45:00 (читать в оригинале)


Unity

На состоявшейся в мае текущего года конференции Build 2013 представители Unity и Microsoft сообщили о том, что теперь Unity3D будет выпускаться для Xbox 360, One, Windows 8 и для мобильной версии данной ОС. Кроме того, будут созданы эксклюзивные инструменты, откроется масса новых возможностей, в числе которых — Microsoft Azure и режим организации матчей для нескольких пользователей, работа с жестами в Kinect и Smart Glass. А разработчикам, использующим продукт Microsoft Studios, будет открыт бесплатный доступ к инструментам.

Дэвид Хелгасон, создатель и руководитель Unity, также сообщил о том, что бесплатной теперь будет и публикация в Windows Store. Так, у разработчиков появилась возможность публиковать всевозможные программы и игры в Windows Store, переносить их на Windows Phone 8, используя лицензию Unity Pro 4.

Кроме того, представители компании Microsoft считают, что их игровая система от сотрудничества с Unity только выиграет. В свою очередь Unity предлагает довольно обширный доступ к своему популярному движку на массе платформ (например, iOS, Tizen и Android). Хелгасон также сообщил о том, что для разработчиков игр под iOS и Android данный движок будет бесплатным. Напомним, что ранее лицензия стоила 800 долларов.

Если ваш компьютер забит разными программами, которые залезли во всевозможные папки и заполнили хламом реестр. Да еще и начали конфликтовать между собой. То не нужно отчаиваться и переставлять систему. Вам может помочь программа по очистке компьютера. Например, CCleaner - это известная бесплатная программа для очистки компьютера. А скачать бесплатно ccleaner можно на сайте http://besplatnye-programmy.com. Там же можно найти массу других бесплатных программ - по работе с мультимедиа, текстом, интернетом.

Unity


Обновление Windows Phone GDR2

2013-08-19 14:24:00 (читать в оригинале)


Windows Phone GDR2

Можно начинать отсчёт распространения обновления мобильной операционной системы Windows Phone General Distribution Release 2 (GDR2). Первым незалоченным смартфоном, который получил вышеупомянутое обновление, стал Samsung Ativ S. Однако обновление уже коснулось и незалоченного HTC 8X. Потому стало ясно, что это ожидает и другие смартфоны.

Ниже приведём ряд улучшений, которые принесёт с собой обновление компании Microsoft. Так, новая функция DataSense поможет отследить расход трафика. Снова появится исчезнувшее когда-то FM-радио, что не может не порадовать любителей послушать музыку. Автоматический выбор приложения камеры не помешает любителям фотографировать. Гарантирована более стабильная работа приложений VoIP. Также улучшится совместимость Internet Explorer и HTML5. Наряду с вышеперечисленными улучшениями и новинками ожидаются и другие усовершенствования, направленные на максимальное удовлетворение пользователей в их работе со своими смартфонами.

Всем обладателям смартфонов, работающих на базе WindowsPhone 8, следует периодически проверять свои устройства на предмет обновления, так как список гаджетов, на которые распространяется данное обновление, постоянно растёт. Следует также отметить, что компания Microsoft уже планирует следующее обновление GeneralDistributionRelease 3 (GDR3), главным усовершенствованием которого станет поддержка Full HD-дисплеев и четырёхъядерных процессоров. Остаётся только ждать официального заявления от Microsoft о GDR3.

Если вы любите почитать книги в транспорте, то для этого лучше использовать не дорогостоящий хрупкий и скользкий планшет. А специально предназначенные для этого электронные книги. Они гораздо удобнее, дешевле, надежнее, устойчивее к повреждениям и самое главное у них намного больше время работы от одной зарядки аккумулятора. Заказать читалку в Украине можно на http://portativ.ua/category_2271589.html?brand=169747. Кроме того, ходить с электронной читалкой по темным улицам гораздо безопаснее из-за ее приемлемой, вменяемой цены.

PocketBook



Microsoft заплатит за уязвимости Windows 8.1 и IE11

2013-08-14 23:00:00 (читать в оригинале)


Windows 8.1   IE11

Недавно компанией Microsoft была анонсирована специальная программа, которая способна выявить уязвимости и эксплоиты в операционной системе Windows 8 Preview. Планируется, что она будет запущена на конференции BUILD. Человек, который сумеет выявить новый эксплоит, получит награду 100 тысяч долларов по программе Mitigation Bypass Bounty. Проводя такой своеобразный конкурс, компания преследует цель доработать слабые стороны безопасности новой ОС.

Также назначено денежное вознаграждение для пользователя, способного выявить критические уязвимости, которые могут повлиять на работу Internet Explorer 11 Preview. Сумма вознаграждения составит 11 тысяч долларов, что намного скромнее первого приза. Поиск и выявление недостатков новой версии браузера в рамках программы IE11 Preview Bug Bounty проходили в течение месяца — с 26 июня по 26 июля.

Кроме того, объявлена еще одна программа. С помощью BlueHat Bonus for Defense можно заработать 50 тысяч долларов. Для этого необходимо найти в программе Mitigation Bypass Bounty ошибки и предложить грамотную защиту от них.



Критерии выбора shared хостинга

2013-08-11 02:59:00 (читать в оригинале)


shared хостинг

Надежный и приемлемо стоящий хостинг очень важен для любого вебмастера. Можно конечно хостить свои проекты дома или в офисе. И, возможно, для каких-нибудь экзотических случаев это будет оптимальный вариант. Но для абсолютного большинства проектов все же лучше размещать на серверах компании специализирующейся на услугах хостинга. При правильном выборе хостинг провайдера это будет качественнее, дешевле, безопаснее и уж точно гораздо более комфортно для владельца.

В интернете есть море всякой информации о хостингах и о том как их выбирать. Конечно, на многих сайтах можно посмотреть сравнение хостинга X с хостингом Y. Но для принятия взвешенного решения нужно разбираться в значимости параметров хостинга. Здесь будут рассмотрены факторы, которыми имеет смысл руководствоваться при выборе shared хостинга, исходя из моего скромного опыта размещения контентных проектов. Факторы буду приводить с пояснениями в порядке убывания важности.

Самый важный фактор - вменяемость персонала, оперативность его реакций

Это очень важно. Сейчас настоящих специалистов, которые умеют что-то реально настроить очень экономят. Уменьшают издержки так сказать. Поэтому непосредственно с вами скорее всего будет общаться сотрудник контакт центра. Не важно, по мылу, или по телефону. В реальности скорее даже по мылу. Так вот здесь важны два фактора коммуникативность + адекватность этой первой линии и скорость реакции второй. То есть тех людей, которые реально что-то понимают. Они к тому же всеми силами попытаются отмазаться, чтобы решить проблему меньшей для них кровью. Даже если у вас очень простые маленькие сайты, то какие-нибудь проблемы и вопросы у вас обязательно возникнут. В общем если вам помогли что-нибудь настроить за 3 дня, то можно считать это хорошим временем реакции. В случае же, если у вас все обрушилось не по вашей вине и неделю все лежит на боку дрыгая ногами в воздухе, а служба поддержки реагирует вяло или молчит по 2-ое суток. То в таком случае бегите с этого хостинга.

Uptaime хостинга

Это достаточно рекламный параметр. В том смысле, что реально он как бы ничему не соответствует. То есть весь смысл в том, как его считать. Думаю что если ваши сайты пропадают не более чем на пол часа ранним утром, и не чаще 1 раза в 2-3 месяца. То у вас вполне нормальный хостинг. Увидеть пропадание сайта можно по письмам оповещениям, присылаемым yandex вебмастером. В случае проектов с большой посещаемостью требования к Uptaime становятся жестче.

Скорость доступа и региональный фактор

Этот фактор во многом географический. Но он также зависит от вменяемости людей. Например, некоторые хостинг центры работающие в Москве умудряются показывать большее время доступа, чем германские. Еще надо сказать о том что, если вы хоститесь в России. То ... услугами вашего провайдера могут воспользоваться правоохранительные органы (по службе), они же как рейдеры, конкуренты и вольные хакеры. И сделают они это не в вашу пользу. Наверное такое возможно и за границей, но там люди очень чтут свою репутацию и стоить это будет, как минимум на порядок дороже. В деньгах или бумажно-административном геморрое, валюта в данном случае зависит от атакующего.

Скорость отдачи контента

Это очень важных параметр особенно для высоконагруженных и мультимедийных проектов. Для контентных текстовых проектов все вменяемые хостинги даже расположенные в Европе или Великобритании должны мухой летать. Если хоть немного что-нибудь притормаживает, то этот хостинг не для вас. При условии, что на локальном компе все летает и не сверх тяжелые страницы.

Цена с учетом возможного расширения ваших аппетитов

Цена должна быть приемлемой для вашего конкретного случая. Не бывает высокой цены или низкой. Нужно выбирать ее из соображений бизнес необходимости. Цены у российских хостинг-провайдеров выше, но зато служба поддержки русскоязычная. Но зато она может и послать. В общем самое главное, чтобы когда у вас вместо 3 сайтов появится 30, вы бы не мучились с переездом из-за непомерных, фантастических тарифов.

Скорость и качество доступа по FTP

Столкнулся с удивительной вещью. Некоторые хостинги при том, что остальное работает отлично, предлагают ужасно медленный и не надежный канал для заливки сайтов. Перед тем как покупать хостинг проверьте и этот параметр на каком нибудь демо-доступе. Ну, или персонал пинайте пока нормальный не сделают.

Объем прокачки трафика

Все современные вменяемые хостинг-провайдеры должны давать от 2 Гб и выше трафика в месяц, чего на простецкие контентные проекты должно хватать. Заявления о бесконечности трафика также рекламная шутка, не верьте в нее. Если ваш трафик превысит их внутренний лимит (например 1-10 Гб), то они порежут вас да и все. Так что такие вещи нужно уточнять у персонала. Другое дело, если у вас высоконагруженный проект или проект с массовыми загрузками чего-либо. В таком случае лучше воспользоваться (хотя бы для такого контента) услугами специализированных провайдеров.

Поддержка SSL, HTTPS

Все современные вменяемые хостинг-провайдеры должны их поддерживать, как минимум за дополнительную плату. Если они вам нужны для совершения транзакций или ввода щекотливой информации, то вы обязательно должны учитывать этот фактор. Учтите также, что вам такая возможность может вдруг понадобиться в будущем.

P.S.

Подробное сравнение американских виртуальных хостингов можно увидеть на BestHosting10.ru. Американские хостинги весьма дешевы, качественны и быстры. Но из за географии могут иметь чуть меньшую скорость доступа, чем европейские. В большинстве случаев эта разница практически незаметна при их эксплуатации. Среди качественных эти американские хостинги одни из самых дешевых.



Страницы: ... 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 ... 

 


Самый-самый блог
Блогер Рыбалка
Рыбалка
по среднему баллу (5.00) в категории «Спорт»
Изменения рейтинга
Категория «Авто/Мото»
Взлеты Топ 5
+265
299
MicheL1102
+238
257
Темы_дня
+230
258
Bisdiv.com
+220
259
Дневник
+177
284
Пофигист
Падения Топ 5


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.