Почему-то не нашёл с первой попытки здесь на Хабре какого-нибудь демо или инструкции по использованию этой старинной, но милой тулы из стандартной поставки DOS. Давайте быстренько это исправим. Как легко догадаться из названия - DEBUG.EXE предполагается использовать для отладки. Мы же напишем в ней несколько коротких ассемблерных программ "с нуля" - это не займет много времени, а притом даст лёгкое ощущение магии!
Рубрика «отладка» - 2
Старый но симпатичный DEBUG.EXE
2025-08-18 в 4:48, admin, рубрики: 8086, dos, dosbox, ассемблер, отладкаПревращаем legacy CLI в AI-агентов за 5 минут: практическое руководство по MCP и Ophis для Go-разработчиков
2025-08-13 в 8:00, admin, рубрики: AI, devops, Go, MCP, автоматизация, отладкаПроблема: AI не умеет в DevOps
Представьте типичный workflow DevOps-инженера с AI-ассистентом:
# Человек копирует в Cursor:
$ kubectl get pods -n production
NAME READY STATUS RESTARTS AGE
api-service-7d4b5c6-x2kl9 1/1 Running 0 5h
api-service-7d4b5c6-m3nq2 0/1 Pending 0 2m
worker-5f6d7c8-p4rs5 1/1 Running 3 12h
# Cursor: "Вижу проблему с подом api-service-7d4b5c6-m3nq2..."
# Человек: копирует describe
# Cursor: "Проверьте events..."
# Человек: копирует events
# И так 10 раз...
Боль очевидна: ручное копирование, потеря контекста, невозможность автоматизации. Можно потратить до 40% времени на такой "ручной debugging" с AI.
Model Context Protocol: новый стандарт интеграции

Пожалуй, самые неприятные баги – те, что воспроизводятся один раз из ста. Их не пощупать, не продебажить и даже не проверить результат.
Так и тут прилетает мне баг от тестировщика с описанием:
Горыныч: как и зачем мы создали свой мощный USB-хаб
2025-04-21 в 10:00, admin, рубрики: Power Delivery, usb, микросхемы, отладка, платы, прошивка, разработка электроники, электроника, яндексFizzBuzz, который не помог мне найти работу
2025-01-27 в 13:01, admin, рубрики: fizzbuzz, ruvds_перевод, задачи на собеседованиях, отладка, рефакторинг, собеседования, техническое собеседование
Fizzbuzz — это простой алгоритм, который когда-то был популярен в контексте технических собеседований.
Я знал, что это такое, но до прошлой недели меня ни разу не просили написать его.
Базовый алгоритм очень прост, но смысл упражнения в том, что собеседующий добавляет новые правила, чтобы проверить, как вы будете дополнять код, обеспечивая при этом его читаемость и удобство поддержки.
Базовую реализацию fizzbuzz можно написать однострочником на Typescript:
const fizzbuzz = (n: number)=>`${n%3 ? '' : 'Fizz'}${n%5 ? '' : 'Buzz'}`;
Во время собеседования меня попросили написать fizzbuzz на любом близком мне языке; собеседующий даже сказал, что можно использовать эзотерические языки программирования, но рекомендовал не делать этого, потому что некоторые правила реализовать будет сложно. Этого вполне можно было ожидать, ведь собеседование могло длиться до 45 минут, а обсуждать простой fizzbuzz особого смысла не было. Менять язык программирования после начала собеседования тоже было запрещено.Читать полностью »
Как экономить нервы и время при отладке кода
2024-11-26 в 8:15, admin, рубрики: Отладить, отладка, Подходы к отладки, поиск багов, поиск ошибок, Программист-прагматик, Совершенный кодПривет! Меня зовут Евгений, и я решил посвятить свою первую статью на Хабре одной из важнейших и интересных тем — поиску багов в программах. Цель этой статьи максимально коротко и понятно посвятить читателей в отладку.
Как сделать автозамену любого блока действий, переменной, условия, константы в бизнес-процессе коробочного Битрикс 24
2024-10-15 в 15:15, admin, рубрики: php, автозамена, бизнес-процессы, битрикс 24, Битрикс24, отладка, шаблоныКак у меня возникла идея это реализовать?
После очередного обновления коробочного портала Битрикс 24 в марте 2023г, в бизнес процессах, перестала работать модификация типов при присвоении значения строковым переменным.
Например, при присвоении переменной "Variable1" значения "{{Начальная сумма > double}}|{{Валюта > user}}" в блоке "Изменение переменных" бизнес процесса, модификатор " > double" преобразует нам типо поля "Деньги" (вида 100|RUBЧитать полностью »
Почему я предпочитаю исключения, а не значения ошибок
2024-09-16 в 13:01, admin, рубрики: exception, ruvds_переводы, исключения, коды ошибок, отладка, ошибки в программе, сообщения об ошибках
Качественная обработка ошибок — это ключ к созданию надёжных программ; но программистов она часто пугает, ведь всегда найдётся ещё один пограничный случай.
В традиционных объектно-ориентированных языках программирования используются специальные классы исключений, которые можно выбрасывать, чтобы прекратить обычный поток управления и немедленно сообщить об ошибке.
Давайте рассмотрим пример, в котором применено защищённое от ошибок целочисленное деление:
int safeDiv(int a, int b) {
if (b == 0)
throw Div0(); // Исключения передаются особым образом
return a / b; // Теперь-то всё абсолютно безопасно, ведь так?
}
Новые языки программирования склонны применять сообщения об ошибках в функциональном стиле и кодировать ошибки в возвращаемый тип. Например, Go кодирует ошибку в возвращаемый тип при помощи кортежа (res, err), а Rust возвращает Result<T, E> — тип-сумму результата и ошибки.
Читать полностью »


