Отладка многопоточных приложений

Получив в очередной раз трудновоспроизводимый баг в жутко многопоточном окружении, начинаешь задумываться - а как бы упростить себе жизнь? Как бы сделать так, чтобы такие баги было гораздо проще поймать?
Ведь обычно такие баги прячутся очень хорошо - они могут проявляться раз в год на нормальной машине, но на определенных компьютерах вдруг они начинают вылезать каждые [...]

Reproduce first debugging (отладка через повторение)

В TDD (Test driven development) есть простое правило - test-first. То есть, сначала напиши тест, а потом уже код. По сути это нужно для постоянного автоматического контроля того, что ты всё делаешь правильно. Сначала пишешь тест, он фейлится, ты исправляешь код, тест начинает срабатывать - цикл закончен.
А можно ли этот же подход перенести на другие [...]

Application verifier - простая бесплатная мощь

Есть множество тулзов, помогающих в отладке программ под Windows. Какие-то лучше, какие-то хуже. Какие-то проще, какие-то сложнее. А можно ли выделить самый простой и полезный способ тестирования программ? Все полезны по-своему и про все стоит рассказать. Так что напишу-ка я серию статей про тулзы, помогающие в отладке программ под Windows.

Сегодня в первой статье я расскажу [...]

Лучшие блоги про отладку

Crash Dump Analysis - это просто огромная копилка знаний. Особенно порадовали паттерны ошибок в крэш дампах. Также читаю и всем рекоммендую блог от Microsoft про debugging: http://blogs.msdn.com/ntdebugging/Очень много информации про отладку и практических примеров на основе багов в Windows.
Читаю я все эти блоги, книгу Advanced Windows Debugging, отлаживаю с помощью WinDbg, изучаю его потихоньку, [...]

Debugging tools for Windows

Раньше я не знал, что такое Debugging tools for Windows и не умел их использовать. Теперь немного узнал и впечатлён. Расскажу про свой опыт общения с ними.
Эти тулзы содержат мощные отладчики (WinDbg, Cdb) и позволяют делать всякие полезности, типа создания symservers (symstore.exe), создания дампа с процесса (cdb, windbg), отладки мемори ликов (umdh.exe) и других [...]