Программа, запущенная под x64dbg, сразу завершается
Я использую отладчик x64dbg из SourceForge под Windows 10, и у меня возникла проблема, которая, как я думаю, как-то связана с моей собственной глупостью, но пока я не могу ее определить. Я использую ассемблер MASM, и когда я работаю над проблемой, я обычно пишу программу, состоящую всего из нескольких инструкций, а затем отслеживаю ее с помощью отладчика, чтобы точно увидеть, что происходит в простом контексте. Я использую программу под названием temp1 в течение нескольких недель, и теперь внезапно, когда я запускаю эту программу с отладчиком, данные отладки мигают на долю секунды на экране x64dbg, а затем программа запускается до завершения, как если бы я нажал "Отладка", "Запустить без точек останова". Я попытался добавить в программу дополнительные инструкции, но результат остался прежним. Затем я переименовал программу в bozo,и собрал и связал его под этим именем, только с двумя инструкциями в нем. Когда я запускаю bozo.exe под x64dbg, он без проблем останавливается по первой инструкции. Что здесь может происходить? Как можно просто использовать другое имя программы, чтобы изменить поведение отладчика?
2 ответа
Перейдите в Параметры → Настройки (Настройки) и во вкладке События убедитесь, что
entry breakpoint
выбрано, поэтому x64dbg прерывается при входе в вашу программу, прежде чем что-либо сделает.
x64dbg сохраняет настройки, точки останова, комментарии и т. д. на основе имени файла отлаживаемого файла - в так называемой «базе данных».
Например, если ваш отладчик был 64-битным исполняемым файлом, его база данных сохраняется в
Полный путь - это что-то вроде
c:\Program Files\x64dbg\x64\db\bozo.exe.dd64
но это не важно, так как он загружается автоматически после открытия / присоединения отладчика
Это объясняет, почему простое изменение имени файла (которое создает новую базу данных с настройками по умолчанию ) может изменить поведение отладчика.
(Остальное объяснение содержится в ответе Алисии .)