Windows Error Reporting и Delphi

Windows Error Reporting (сокращённо: WER) — это набор технологий, встроенных в Windows, который собирает информацию о сбое в приложениях при их вылетах (а также о сбоях ядра) и отправляет её на сервера Microsoft. Разработчик программного обеспечения по этой информации может разработать и опубликовать соответствующее обновление. Затем конечный пользователь, отправляя отчёт, увидит, что для этой ошибки в программе доступно исправление, сможет скачать его и обновить программу.

В этой статье я хотел бы посмотреть на его историю, концепцию и как вы можете использовать его на практике для своих приложений Delphi (или, наоборот, не использовать).
в сообщениях об ошибках. Например, «Runtime error 217 at 004060CD» или «Access Violation at address 005D2500…». К сожалению, Delphi сделана в этом отношении не совсем грамотно: она показывает абсолютный адрес, а не смещение. В итоге получается, что если ошибка произошла в .exe — вам (возможно) повезло: .exe (почти) всегда грузится по фиксированному адресу $00400000. Если же исключение произошло в DLL — вы пролетели, если только вам сильно не повезёт (каким-то образом вы узнаете базовый адрес DLL, или же DLL на вашей машине окажется загруженной по тому же адресу).

 

Читать на сайте автора.

Как создать "часовые" значения для указателей в Windows

Это перевод On generating sentinel pointer values in Windows. Автор: Реймонд Чен.

Предположим, что вам нужно несколько т.н. «часовых» значений. К примеру, пусть ваша функция работает

Читать на сайте автора.

Как-то раз клиент сообщил об ошибке на карте в Flight Simulator

Это перевод That time a customer reported an error in the map used by Flight Simulator. Автор: Реймонд Чен.

Игра Microsoft Flight Simulator гордится своей точностью

Читать на сайте автора.

Задачка №22

Предновогодняя задачка на внимательность.

Объясните этот скриншот:

Здесь реализована обычная QuickSort сортировка массива. Известно, что иногда она портит данные. Как такое может быть?

Стандартные условия: ошибка у вас перед глазами, внешнего воздействия нет.

Ответ будет опубликован после праздников.

Читать на сайте автора.

Сомнительная уязвимость: атакуем каталог приложения, чтобы обмануть… самого себя?

Это перевод Dubious security vulnerability: Attacking the application directory in order to fool yourself? Автор: Реймонд Чен.

Нам отправили примерно такой отчёт о найденной уязвимости в

Читать на сайте автора.

Каталог TEMP аналогичен ванне, где воду не меняли больше года

Это перевод The TEMP directory is like a public hot tub whose water hasn’t been changed in over a year. Автор: Реймонд Чен.

Один клиент пожаловался,

Читать на сайте автора.

Почему каталог TEMP постоянно меняется?

Это перевод Why does the name of my TEMP directory keep changing? Автор: Реймонд Чен.

В техподдержку команды Оболочки (Shell) обратился клиент с таким вопросом:
Тема: Support

Читать на сайте автора.

Не требуйте от ваших пользователей степени по философии, эпизод 2

Это перевод Don’t require your users to have a degree in philosophy, episode 2. Автор: Реймонд Чен.

Ранее мы выяснили, что текст справки и подсказок —

Читать на сайте автора.

Не требуйте от ваших пользователей степени по философии

Это перевод Don’t require your users to have a degree in philosophy. Автор: Реймонд Чен.

Текст справки и подсказок — это не место для логических головоломок.

Если

Читать на сайте автора.

Подсказка: делайте заголовок осмысленным для получателя сообщения, а не для отправителя

Это перевод Email tip: Choose a subject line that is meaningful to the recipient, not to the sender. Автор: Реймонд Чен.

Я подозреваю, что вы хотели

Читать на сайте автора.