Я часто сталкиваюсь со следующим сценарием отладки:
Тестер предоставляет несколько шагов для воспроизведения ошибки. И чтобы выяснить, в чем проблема, я пытаюсь поиграть с этими шагами воспроизведения, чтобы получить минимально необходимые шаги воспроизведения. Иногда, к счастью, я обнаруживал, что, когда небольшие изменения происходят, проблема исчезает.
Затем работа поворачивается, чтобы найти разницу в рабочем процессе кода между этими двумя шагами воспроизведения. Эта работа утомительна и мучительна, особенно когда вы работаете с большой базой кода, и она проходит через большой код и включает в себя множество изменений состояния, с которыми вы не знакомы.
Так что мне было интересно, есть ли какие-либо инструменты для сравнения «рабочего процесса кода». Изучив команду «wt» в WinDbg, я подумал, что это возможно сделать. Например, я могу запустить команду «wt» для большинства функций с двумя различными шагами воспроизведения, а затем сравнить разницу между выходными данными. Тогда должно быть легко найти, где поток кода начинает расходиться.
Но проблема с WinDBG заключается в том, что «wt» довольно медленная (возможно, я должен использовать файл журнала вместо вывода на экран) и не очень удобна для пользователя (по сравнению с отладчиком visual studio) ... Поэтому я хочу спросить ребята, есть ли какие-либо существующие инструменты доступны? или возможно и сложно разработать «плагин» для отладчика Visual Studio для поддержки этой функции?
Спасибо