В моей старой системе учёта валютной позиции больше двадцати лет стоял коммерческий инструмент трассировки от конторы, которая делала SoftICE. Он работал исправно, о каждой ошибке присылал письмо со стеком вызовов — и не помог мне ни разу. Недавно я наконец понял, почему так вышло, и ответ оказался до обидного простым.
Кто это писал
В 1999 году я пришёл дилером в казначейство небольшого банка. Систему учёта позиции писал себе сам, вечерами, потому что писать её было больше некому: я не программист, я просто хотел, чтобы утро начиналось не с ручной сверки. Про то, как в этой системе жили остатки, я уже рассказывал. Теперь про то, как в ней жила отладка.
Сразу главное, чтобы дальше читалось правильно. Стек вызовов отвечает на вопрос «где упало». А мне нужен был ответ на вопрос «что к этому привело у пользователя?». Это разные вопросы, и на то, чтобы увидеть между ними разницу, у меня ушла заметная часть жизни.