Список полезных ссылок: продвинутые методы отладки приложений в Microsoft .NET Framework

В этой статье я приведу и опишу ссылки на все те ресурсы и книги, которые, на мой взгляд, будут полезными для всех тех .NET разработчиков, кто заинтересован в получении более глубоких знаний. Конечно, не каждому ASP.NET разработчику нужны подобные знания, ведь можно быть хорошим веб-разработчиком и без этого. Но если вам это интересно, то предлагаю продолжить читать дальше. Как я неоднократно писал – информации в сети очень много, как полезной, так и бесполезной. И нужно время, чтобы отфильтровать всю. А чтобы этого не делать, я собрал всю нужную и самую полезную, всё то, что сам читал и изучал за последние годы, в одном месте. И так начну со списка книг.

Лучшей книгой по отладке приложений в среде .NET Framework является книга Марио Хеварда (Mario Hewardt) – «Advanced .NET Debugging». По крайней мере, лучше неё я не знаю. В первой главе книги описаны  все те инструменты, которые нужны будут для работы, такие как: отладчик Windows, расширения олдачика SOS и SOSEX, .NET Reflector и т.п. Во второй главе детально описано устройство CLR. Так что, эта глава является отличным дополнением к этому материалу. Ну а в следующих главах идёт описание процесса отладки и других механизмов CLR. Хотя в книге описана среда CLR 2.0, информация вполне актуальна и для CLR 4.0. Можете мне поверить наслово, я работаю преимущественно с .NET 4.0 - 4.5.1. Поскольку работать с использованием отладчика WinDbg – непросто, то приходится иметь под рукой книги, в которые заглядываю время от времени и использую их в качестве справочника. Одной из них является книга того же автора и Даниела Правата (Daniel Pravat) – «Advanced Windows Debugging». А другой книга Тарика Соулами (Tarik Soulami) – «Inside Windows Debugging: A Practical Guide to Debugging and Tracing Strategies in Windows». Читать полностью последние книги,  разработчику .NET, а веб-разработчику тем более, не нужно. Если, конечно вы не решили стать системным программистом. Просто нужно знать об их существовании и заглядывать в них в качестве справочника, если в этом появится необходимость. К сожалению, ни одна из книг не переведена на русский, приходится довольствоваться оригиналами. А здесь находится сайт автора первых книг серии «Advanced Debugging». Приведённые выше книги насыщенны техническими деталями и пошаговыми инструкциями, особенно это касается первых двух (Advanced Debugging), что ставит их, скорее всего, в категорию справочников. А как же другие книги?

Книга Джона Роббинса – «Debugging Microsoft .NET 2.0 Applications», которую уже нельзя назвать справочником, и о которой знают все. А если не знаете, то данная статья именно для вас. По праву её можно считать классикой жанра. И я считаю, что её должен прочитать каждый уважающий себя .NET разработчик. В отличие от первого издания – «Debugging Applications for Microsoft .NET and Microsoft Windows», второе издание написано на более простом и доступном языке, а также основное внимание уделяется платформе .NET Framework. Несмотря на то, что книга опубликована восемь лет назад, вся информация в ней актуальна и на сей день. К тому же, оба издания и первое – «Отладка приложений для Microsoft .NET и Microsoft Windows» и второе – «Отладка приложений для Microsoft .NET» переведены и доступны на русском языке. Думаю, этих книг вполне досаточно, чтобы стать настоящим гуру в отладке приложений. Шучу конечно, чтение это малость, ещё и практика нужна, годы проведённые перед монитором отлаживая приложения – восполнят этот пробел. Теперь, что касается других ресурсов в сети. Их много, но я приведу самое нужное, на мой взгляд. В первую очередь блог Джона Роббинса на сайте Wintellect. На MSDN много интересных и полезных статей в блогах, но основная проблема в том, что они не объединены строго по одной тематике и разбросаны по всему сайту. Ссылки на самые интересные я буду постепенно добавлять тут. И две последние ссылки на Channel 9: Techniques in Advanced .NET Debugging with John Robbins и .NET Debugging for the Production Environment. Обязательно рекомендую посмотреть. А зачем всё это нужно? Я счтисаю, что самое ценное в нашей жизни – это время. Чтобы не тратить её на поиски необходимой информации, я постарался собрать всё в одном месте. А после изучения данных материалов, у вас будет солидная база знаний и вы не встанете перед проблемой нехватки знаний при отладке и диагностике приложений в реальной жизни, с которой сталкивается рано или поздо каждый из нас. Тем самым сэкономите кучу времени.