#windows #debugging #assembly #trace
#Windows #отладка #сборка #трассировка
Вопрос:
Существует программа (не моя), которая работает в операционной системе Windows. Я хочу отладить эту программу и остановить, когда будут соблюдены определенные условия, сумма регистра eax ebx будет равна 65463. Возможно ли это?
Комментарии:
1. Я не знаю ни одного отладчика Windows, который поддерживал бы глобальный мониторинг содержимого регистра. Насколько я знаю, вы можете устанавливать только условия, которые оцениваются в определенных, предварительно заданных местах кода.
2. Я уверен, что если отладчик может отслеживать код, он может контролировать каждый шаг. Я думаю, что это будет очень полезный инструмент.
3. Отладчик не отслеживает код. Он устанавливает ловушки в местах, выбранных пользователем, либо с помощью выделенных средств процессора, либо путем временного написания
int3
инструкций.4. @IInspectable но они могут выполняться за один шаг, а некоторые могут быть написаны сценарием.
gdb
это, конечно, можно сделать, но не очень быстро 🙂5. @Jester: Это правда. Креативный одноэтапный скрипт может помочь вам в этом. WinDbg подойдет просто отлично. Хотя запуск подобного кода, несомненно, приведет к появлению множества ошибок, которые в противном случае не были бы обнаружены. Кроме того, вам также нужно будет убедиться, что ваш скрипт подключается ко всем потокам, которые запускаются по пути. В любом случае стоит попробовать, если это все, что у вас есть в вашем распоряжении.