Где находится файл debug

Обновлено: 06.07.2024

Запускаем процесс с помощью функции CreateProcess и в шестом её параметра (dwCreationFlags) указываем флаг DEBUG_ONLY_THIS_PROCESS. Этот флаг указывает Windows подготовить запускаемый процесс для отладки (отладочные события, старт/завершение процесса, исключения и т.п.). Более подробное объяснение чуть позже. Прошу обратить внимание, что мы будем использовать именно DEBUG_ONLY_THIS_PROCESS. Это значит, что мы хотим отлаживать только тот процесс, который мы запускаем, а не ещё и порождаемые им.

После этого, вы должны увидеть новый процесс в диспетчере задач, но на самом деле, он ещё не запустился. Вновь созданный процесс пока ещё заморожен. Нет, не угадали, нам надо не вызвать ResumeThread, а написать отладочный цикл.

Отладочный цикл

Отладочный цикл – это сердце отладчика, и строится он вокруг функции WaitForDebugEvent. Она получает два параметра: указатель на структуру DEBUG_EVENT и таймаут (DWORD). В качестве таймаута мы укажем INFINITE. Эта функция содержится в kernel32.dll, поэтому никаких дополнительных библиотек нам линковать не надо.

Вызывая ContinueDebugEvent, мы просим ОС продолжить выполнение ОП. dwProcessId и dwThreadId указывает нам на процесс и поток. Эти значения мы получили из WaitForDebugEvent. Последний параметр указывает, продолжить выполнение или нет. Этот параметр будет иметь значение только тогда, когда в отладку пришло исключение. Это мы рассмотрим позже. Ну а пока используем просто DBG_CONTINUE (другое возможное значение – это DBG_EXCEPTION_NOT_HANDLED).

Получение событий отладки

Есть девять основных событий отладки, и 20 подсобытий в категории исключений. Рассмотрим это, начиная с самого простого. Ниже приведена структура DEBUG_EVENT:

Когда WaitForDebugEvent успешно завершается, он заполняет эту структуру. dwDebugEventCode указывает, какое событие отладки к нам пришло. В зависимости от этого кода, один из членов union’a u содержит информацию о событии. Например, если dwDebugEventCode==OUTPUT_DEBUG_STRING_EVENT, то верно заполнится тольк OUTPUT_DEBUG_STRING_INFO.

Обработка OUTPUT_DEBUG_STRING_EVENT

Что если ОП завершится во время считывания памяти?

Обработка CREATE_PROCESS_DEBUG_EVENT

Как получить имя файла из hFile

К сожалению, нам необходимо будет использовать метод, описанный в MSDN, который содержит примерно 10 вызовов функций. Ниже сокращённый вариант:

Вы могли заметить, что я не рассмотрел несколько полей этой структуры. В следующих частях мы рассмотрим это всё досконально.

Обработка LOAD_DLL_DEBUG_EVENT

Это событие похоже на CREATE_PROCESS_DEBUG_EVENT, и как вы уже догадались, это событие вызывается, когда ОС загружает DLL. Это событие возникает каждый раз, когда загружается DLL, явно или неявно. Отладочная информация содержит только время, когда была загруженаDLL, и её виртуальный адрес. Для обработки события, мы используем поле union’a LoadDll. Оно имеет тип LOAD_DLL_DEBUG_INFO

Для получения имени файла, мы будем использовать функцию GetFileNameFromHandle, такую же, как мы использовали в CREATE_PROCESS_DEBUG_EVENT. Я покажу этот код, когда буду рассказывать про UNLOAD_DLL_DEBUG_EVENT. Событие UNLOAD_DLL_DEBUG_EVENT не содержит полной информации об имени DLL библиотеки.

Обработка CREATE_THREAD_DEBUG_EVENT

Это событие генерируется, когда ОП создаёт новый поток. Практически как CREATE_PROCESS_DEBUG_EVENT, это событие создаётся перед тем, как новый поток будет запущен. Чтобы получить информацию об этом событии, мы используем поле CreateThread. Структура CREATE_THREAD_DEBUG_INFO описана ниже:

ID потока доступен в DEBUG_EVENT::dwThreadId, поэтому нам легко вывести всю информацию о потоке:

lpStartAddress – адрес начала функции потока относительно ОП, а не отладчика; Мы его просто отображаем для законченности. Обратите внимание, что это событие не генерируется, когда начинает работу основной поток ОП, только при создании новых потоков основным.

Обработка EXIT_THREAD_DEBUG_EVENT

Это событие генерируется, как только дочерний поток завершается и возвращает код возврата в систему. Поле dwThreadId в DEBUG_EVENT содержит ID завершающегося потока. Для получения хэндла потока и другой информации из CREATE_THREAD_DEBUG_EVENT, нам необходимо хранить эту информацию в каком-либо массиве. Для получения информации об этом событии, мы используем поле ExitThread, которое имеет тип EXIT_THREAD_DEBUG_INFO:

Ниже код обработчика события:

Обработка UNLOAD_DLL_DEBUG_EVENT

Конечно же событие содержит информацию и выгружаемой DLL из памяти ОП. Но не всё так просто! Оно генерируется только в случае вызова FreeLibrary, а не когда система сама выгружает библиотеку. Для получения информации, используйте UnloadDll (UNLOAD_DLL_DEBUG_INFO):

Как вы видите, для нас доступен только базовый адрес библиотеки. Именно поэтому я не рассказал вам сразу про код для LOAD_DLL_DEBUG_EVENT. Во время загрузки DLL, мы также получаем lpBaseOfDll. Можно использовать Map для хранения имени библиотеки, помимо её адреса.
Важно заметить, что не все события загрузки библиотеки получат своё событие выгрузки. Тем не менее, мы должны хранить все имена библиотек, так как LOAD_DLL_DEBUG_EVENT не даёт нам информации о том, как библиотека была загружена.
Ниже код для обработки обоих событий:

Обработка EXIT_PROCESS_DEBUG_EVENT

Это одно из самых простых событий, и как вы можете догадаться, вызывается тогда, когда процесс ОП завершается. Это событие показывает нам, как завершился процесс: нормально или экстренно (например, через диспетчер задач), или отлаживаемая программа упала. Информацию мы получаем из EXIT_PROCESS_DEBUG_INFO ExitProcess;

Как только мы получим это событие, нам необходимо прервать цикл отладки и завершить поток отладки. Для этого мы можем завести флаг, который будет сигнализировать о завершении отладки.

Обработка EXCEPTION_DEBUG_EVENT


Это самая удивительная и сложная вещь во всех событиях отладки. Из MSDN:
Это событие генерируется, когда возникает исключение в отлаживаемом процессе (возможно при делении на ноль, выходе за границы массива, выполнения инструкции int 3 или любого другого исключения, описанного в SEH). Структура DEBUG_EVENT содержит структуру EXCEPTION_DEBUF_INFO. Именно она описывает исключение.

Описание обработки этого события требует отдельной статьи, чтобы рассказать про это полностью (да пусть хоть даже и частично). Поэтому я расскажу пока про один тип исключения.
Поле Exception содержит информацию о только что произошедшем исключении. Ниже можно увидеть описание структуры EXCEPTION_DEBUG_INFO:

Поле ExceptionRecord содержит детальную информацию об исключении.

Ещё немного о ContinueDebugEvent

  • DBG_CONTINUE, если исключение было успешно поймано отладчиком. От отлаживаемой программы больше ничего не надо и она может выполняться нормально.
  • DBG_EXCEPTION_NOT_HANDLED, если это исключение не обработано (не может быть обработано) отладчиком. Отладчик может лишь сделать запись о том, что это исключение было.

Коды исключений

  1. EXCEPTION_ACCESS_VIOLATION
  2. EXCEPTION_ARRAY_BOUNDS_EXCEEDED
  3. EXCEPTION_BREAKPOINT
  4. EXCEPTION_DATATYPE_MISALIGNMENT
  5. EXCEPTION_FLT_DENORMAL_OPERAND
  6. EXCEPTION_FLT_DIVIDE_BY_ZERO
  7. EXCEPTION_FLT_INEXACT_RESULT
  8. EXCEPTION_FLT_INVALID_OPERATION
  9. EXCEPTION_FLT_OVERFLOW
  10. EXCEPTION_FLT_STACK_CHECK
  11. EXCEPTION_FLT_UNDERFLOW
  12. EXCEPTION_ILLEGAL_INSTRUCTION
  13. EXCEPTION_IN_PAGE_ERROR
  14. EXCEPTION_INT_DIVIDE_BY_ZERO
  15. EXCEPTION_INT_OVERFLOW
  16. EXCEPTION_INVALID_DISPOSITION
  17. EXCEPTION_NONCONTINUABLE_EXCEPTION
  18. EXCEPTION_PRIV_INSTRUCTION
  19. EXCEPTION_SINGLE_STEP
  20. EXCEPTION_STACK_OVERFLOW

В заключении, хотелось бы привести простейшее событие отладки: EXCEPTION_DEBUG_EVENT. Это событие будет приходить постоянно. Отладчики вроде Visual Studio игнорируют его, а WinDbg нет.

Заключение



Используйте любой отладчик для DebugMe.

Вторая часть будет ещё интереснее и она на подходе!
UPD: Часть 2

В процессе работы за компьютером могут возникать различные ситуации, проблемы и прочие не совсем понятные и объяснимые вещи. И одной из таких проблем может являться появление файла под именем debug.log, который может быть пустым, и, соответственно, файл имеет размер в 0 байт, а может содержать не сильно понятные строки с текстом.

Спонтанное появление файла debug.log в различных папках

Файл debug.log то и дело появляется на компьютере

Дабы понять, что происходит, для начала стоит рассказать о предназначении данного файла. В данный файл прописывается различная отладочная информация, события, которые могут возникать в процессе работы программы. Данный функционал необходим программистам при разработке софта, его отладки (доведения до полностью безошибочной работы в тех или иных сценариях). Для обычных пользователей данная информация не несёт никакой пользы, она является избыточной. Так почему же тогда порой данные файлы всё равно можно наблюдать? Ответ прост – программисты порой забывают отключить данный функционал при релизе программы, или при выходе её очередного обновления.

Причём изредка данные файлы создаются не из-за действий самих разработчиков, а из-за действий третьих лиц, которые включают режим отладки при создании так называемых сборок. Под сборками подразумеваются неофициальные дистрибутивы программных продуктов, игр.

К примеру, не так давно данная проблема была замечена у весьма серьёзного и довольно популярного программного продукта – графического редактора Adobe Photoshop. При его использовании создаётся файл debug.log в тех папках, откуда берутся изображения и куда сохраняются.

В конце концов, можно и немного подождать, благо сам софт же функционирует корректно и в полном объёме. А появляющийся файл debug.log можно удалить, ни к какому сбою это не приведёт. Единственное, необходимо отметить, что пока работает программа, которая его создала, оный файл удалить не получится, необходимо предварительно закрыть оную.

Мы рады, что смогли помочь Вам в решении поставленной задачи или проблемы.

В свою очередь, Вы тоже можете нам очень помочь.

Просто поделитесь статьей в социальных сетях и мессенджерах с друзьями.

Поделившись результатами труда автора, вы окажете неоценимую помощь как ему самому, так и сайту в целом. Спасибо!

Файл отладки (debug.log или debug.txt) на рабочем столе вашей системы может появиться в основном из-за ошибки в браузерах на основе хрома. Более того, поврежденный профиль пользователя или установка браузера также могут привести к появлению файла отладки на рабочем столе вашей системы.

Проблема возникает, когда пользователь видит файл отладки на своем рабочем столе. Когда файл отладки открывается с помощью Блокнота, отображается что-то вроде ниже:

[1101/180331.337:ERROR:directory_reader_win.cc(43)] FindFirstFile: система не может найти указанный путь. (0x3)


Прежде чем приступить к процессу устранения неполадок, убедитесь, что на вашем компьютере установлена ​​последняя сборка Windows. Кроме того, проверьте, решает ли проблему очистка временных файлов. Также проверьте, используете ли вы Google Talk (хотя поддержка прекращена с 2015 года, но некоторые пользователи все еще используют его). Если да, то попробуйте восстановить его установку через Панель управления вашей системы.

Решение 1. Удалите файл отладки

Первым шагом в процессе устранения этой проблемы является удаление самого ненужного файла отладки (файл может быть воссоздан после запуска системы / приложения). Возможно, вам придется повторять эти шаги после каждой попытки решения.


  1. Во-первых, убедитесь, что файл отладки не требуется вам или любому другому системному пользователю / приложению, а затем закройте все приложения в вашей системе (проверьте диспетчер задач вашей системы на наличие фоновых приложений).
  2. Теперь щелкните правой кнопкой мыши файл отладки и выберите Удалить.Удалить файл отладки
  3. Затем подтвердите удаление файла и проверьте, удален ли файл.
  4. Если нет, то загрузите вашу систему в безопасном режиме или в чистом режиме, а затем проверьте, можете ли вы удалить файл. Возможно, вам придется использовать «rm. Debug.log» в оболочке с повышенными правами.

Решение 2. Обновите свой браузер до последней сборки

Почти все основные браузеры регулярно обновляются, чтобы учитывать новейшие функции и исправлять ошибки. Ваша система может отображать файл отладки на рабочем столе, если вы используете устаревшую версию своего браузера, поскольку это может создать несовместимость между браузером и ОС и, следовательно, создать файл отладки на рабочем столе для устранения неполадок. В этом случае обновление браузера до последней сборки может решить проблему.

Для Chrome:

  1. Запустите браузер Chrome и щелкните три вертикальных эллипса (в правом верхнем углу окна).
  2. Теперь в отображаемом меню выберите «Настройки», а затем в левой половине окна выберите «О Chrome».Откройте настройки Chrome
  3. Затем в правой половине окна убедитесь, что Chrome обновлен до последней сборки.Обновите Chrome
  4. Если вы используете Visual Studio Code, обязательно обновите файл конфигурации отладчика, связанный с Chrome.

Для браузера Edge

  1. Запустите браузер Edge и щелкните три горизонтальных эллипса (в правом верхнем углу экрана).
  2. Теперь нажмите «Справка и отзывы», а затем в подменю выберите «О Microsoft Edge».Открыть о Microsoft Edge
  3. Затем убедитесь, что браузер Edge обновлен до последней сборки.Проверьте наличие обновлений Microsoft Edge

После обновления браузеров (на основе Chromium) перезагрузите компьютер и при перезагрузке проверьте, не содержит ли система отладочного файла.

Решение 3. Откройте файлы PDF в другом браузере / приложении

  1. Откройте меню Windows, нажав клавишу с логотипом Windows, а затем щелкните значок шестеренки, чтобы открыть настройки системы.Открытие настроек Windows
  2. Затем выберите Приложения и в левой половине окна выберите Приложения по умолчанию.Откройте приложения в настройках Windows
  3. Теперь в правой половине окна прокрутите вниз и нажмите «Выбрать приложения по умолчанию по типу файла».Открыть Выбрать приложения по умолчанию по типу файла
  4. Затем прокрутите вниз, пока не найдете вариант «.PDF», а затем щелкните приложение перед ним.Измените приложение по умолчанию для типа файла PDF
  5. Теперь в показанных параметрах выберите другой браузер (не на основе Chromium) или приложение (например, Adobe Acrobat Reader DC).
  6. Затем перезагрузите систему и при перезагрузке проверьте, очищена ли система от проблемы с файлом отладки.

Решение 4. Отключите инструменты разработчика Microsoft Edge.

Вы можете столкнуться с данной ошибкой, если включены инструменты разработчика браузера Microsoft Edge, так как его возможность редактировать рабочие процессы интерфейса может вызвать конфликт между приложением и ОС. В этом контексте отключение инструментов разработчика Microsoft Edge может решить проблему.

  1. Запустите окно Выполнить, нажав клавиши Windows + R, и выполните следующее: gpedit.mscВведите gpedit.msc и нажмите Enter, чтобы открыть редактор групповой политики.
  2. Теперь на левой панели окна разверните «Конфигурация пользователя», а затем «Административные шаблоны».
  3. Теперь разверните Компоненты Windows и дважды щелкните Microsoft Edge.
    Откройте Microsoft Edge в редакторе групповой политики.
  4. Затем на правой панели окна щелкните правой кнопкой мыши Разрешить инструменты разработчика.Изменить Разрешить настройки инструментов разработчика
  5. Теперь выберите Edit и выберите Disabled.Отключить Разрешить инструменты разработчика Microsoft Edge
  6. Затем нажмите кнопки Применить / ОК и перезагрузите компьютер.
  7. После перезагрузки проверьте, решена ли проблема с файлом отладки.

Решение 5. Удалите файл отладки из папки запуска

Ваша система может отображать файл отладки на своем рабочем столе, если файл отладки находится в папке запуска (из-за чего файл будет воссоздаваться при каждом перезапуске системы). В этом случае удаление файла из папки автозагрузки может решить проблему.


  1. Запустите окно Выполнить (одновременно нажав клавиши Windows + R) и выполните следующее:% appdata% Microsoft Windows Start Menu Programs StartupОткрыть папку автозагрузки
  2. Теперь щелкните правой кнопкой мыши файл отладки и выберите Удалить.
  3. Затем подтвердите удаление файла и щелкните правой кнопкой мыши на панели задач вашей системы.
  4. Теперь в отображаемом меню выберите Диспетчер задач и перейдите на вкладку «Автозагрузка».
  5. Затем снимите флажок с параметра Файл отладки и перезагрузите компьютер.
  6. После перезагрузки проверьте, очищена ли ваша система от ошибки файла отладки.

Решение 6. Удалите папку Crashpad.

Файл отладки на рабочем столе вашей системы может отображаться, если папка Crashpad, связанная с Chrome, повреждена. В этом контексте удаление папки Crashpad может решить проблему.

  1. Выйдите из браузера вашей системы (например, Chrome) и убедитесь, что в диспетчере задач вашей системы не работают процессы, связанные с браузером.
  2. Запустите окно Выполнить (нажав клавиши Windows + R) и выполните следующее:% LocalAppData% Google Chrome User DataОткройте папку данных пользователя Chrome
  3. Теперь щелкните правой кнопкой мыши папку Crashpad и выберите Удалить.Удалить папку Crashpad
  4. Затем подтвердите удаление папки и перезагрузите компьютер.
  5. После перезагрузки проверьте, решена ли проблема с файлом отладки.

Решение 7. Чистая загрузка Windows

Ваша система может отображать файл отладки на своем рабочем столе, если какое-либо из системных приложений создает файл при запуске системы. В этом контексте чистая загрузка системы может решить проблему.

Решение 8. Удалите новое обновление Microsoft Edge.

Известно, что Microsoft выпускает обновления с ошибками, и одним из таких обновлений является KB4576754 (последнее обновление Microsoft Edge). В этом случае проблему может решить удаление обновления, содержащего ошибки.

  1. Нажмите клавишу с логотипом Window, чтобы открыть меню Windows, а затем найдите Параметры. Затем выберите «Настройки» (в списке результатов, выведенных поиском).
  2. Теперь выберите «Обновление и безопасность», а затем откройте «Просмотр истории обновлений».Открыть Просмотреть историю обновлений
  3. Затем нажмите «Удалить обновления» и выберите «Обновление KB4576754».Удалить обновления в истории обновлений
  4. Теперь нажмите «Удалить» и следуйте инструкциям на экране, чтобы удалить ошибочное обновление.Удалить обновление KB4576754
  5. Затем перезагрузите компьютер и после перезагрузки проверьте, решена ли проблема с файлом отладки.

Решение 9. Переустановите браузер

Вы можете столкнуться с данной ошибкой, если установка вашего браузера повреждена. В этом случае переустановка браузера может решить проблему. Вам следует попытаться переустановить Microsoft Edge и браузер Chrome (мы обсудим процесс переустановки Chrome), поскольку проблема возникает в браузерах на основе Chromium (вам также следует переустановить все браузеры на основе хрома).

  1. Сделайте резервную копию важной информации / данных в Chrome (закладки, пароли и т. Д.).
  2. Теперь выйдите из Chrome и убедитесь, что в диспетчере задач вашей системы не работает связанный с ним процесс.
  3. Затем нажмите кнопку Windows, чтобы открыть меню Windows, а затем щелкните значок шестеренки, чтобы запустить настройки системы.
  4. Теперь выберите Приложения, а затем разверните Google Chrome.
  5. Затем нажмите кнопку «Удалить» и подтвердите удаление Google Chrome.Удалите Chrome в системных настройках
  6. После удаления Chrome перезагрузите компьютер и после перезагрузки удалите следующие каталоги: C: Program Files Google Chrome% LocalAppData% Google Chrome
  7. Теперь запустите меню Windows, нажав кнопку Windows, а затем найдите Редактор реестра. Теперь в результатах, отображаемых поиском, щелкните правой кнопкой мыши Редактор реестра и выберите Запуск от имени администратора.Откройте редактор реестра от имени администратора
  8. Нажмите Да (если получено приглашение UAC), а затем создайте резервную копию системного реестра.
  9. Теперь перейдите к следующему: Компьютер HKEY_CURRENT_USER SOFTWARE
  10. Затем щелкните правой кнопкой мыши Google (в левой половине экрана) и выберите Удалить ключ.Удалить папку Google от текущего пользователя реестра
  11. Теперь перейдите к следующему: Компьютер HKEY_LOCAL_MACHINE SOFTWARE
  12. Затем щелкните правой кнопкой мыши Google (в левой половине экрана) и выберите Удалить ключ.Удалите папку Google из HKLM реестра
  13. Теперь откройте меню «Файл» и нажмите «Выход», чтобы закрыть редактор реестра.Закройте редактор реестра.
  14. Затем перезагрузите компьютер и после перезагрузки загрузите последнюю версию установщика Chrome (лучше использовать автономный установщик).
  15. Теперь щелкните правой кнопкой мыши загруженный установочный файл Google Chrome и выберите «Запуск от имени администратора», а затем следуйте инструкциям, чтобы завершить переустановку.
  16. После переустановки Chrome проверьте, решена ли проблема с файлом отладки.

Решение 10. Создайте другую учетную запись пользователя

Вы можете столкнуться с данной ошибкой, если профиль пользователя вашей системы поврежден. В этом контексте создание другой учетной записи пользователя может решить проблему.

  1. Создайте другую учетную запись пользователя и выйдите из текущей учетной записи.
  2. Теперь откройте систему с вновь созданной учетной записью и проверьте, решена ли проблема с файлом отладки.

Решение 11. Скройте файл и сделайте его доступным только для чтения

Если ни одно из решений не помогло решить проблему, то сокрытие файла (чтобы вас не беспокоило существование файла) и его доступность для чтения (приложение, создающее файл, не сможет его редактировать или воссоздавать) может решить проблема.

  1. Убедитесь, что в меню «Просмотр» окна «Параметры папки» включен параметр «Не показывать скрытые файлы, папки или диски». Кроме того, закройте все запущенные приложения и проверьте диспетчер задач вашей системы на наличие запущенных фоновых приложений.
  2. Теперь щелкните правой кнопкой мыши файл отладки и выберите «Свойства».Откройте свойства файла отладки
  3. Затем проверьте параметры «Только для чтения» и «Скрытый».Сделайте файл отладки доступным только для чтения и скрытым
  4. Теперь нажмите кнопки Применить / ОК и перезагрузите систему.
  5. Надеемся, что после перезагрузки ваша система избавится от проблемы с файлом отладки.

enter image description here

редактировать Шаг 1) Перейдите в файл > структура проекта > выберите проект > перейдите в "подпись" и выберите по умолчанию или любое хранилище ключей, которое вы хотите, и заполните все детали. В случае, если вы не можете заполнить детали, Нажмите зеленую кнопку"+". Я выделил на скриншоте.

enter image description here

Шаг 2) очень важно: типы сборки Goto> выберите тип сборки и выберите "конфигурация подписи". В моем случае, я должен выбрать "Настройки". Проверьте выделенную область.

Для Пользователя Windows: C:\Users\username\.android\debug.keystore

для пользователя Linux / Mac OS:

после того, как вы получите SHAH1 ниже код с помощью командной строки:

другой способ узнать вашу ключевую информацию-перейти в папку java, для меня это было в

и выполните следующую команду

из команды вы можете легко увидеть, что адрес хранилища ключей "c:\users / .android\debug.keystore", псевдоним "androiddebugkey" пароль магазина "android" ключевой пароль "android"

В Android Studio вы можете найти всю информацию о подписывании приложения без какой-либо консольной команды:

нажмите на Gradle с правой боковой панели

в панели проектов Gradle откройте папки: ваш Проект - > Задачи - > Android

signingReport task and its result

у меня проблема. The отсутствует. Таким образом, единственным шагом, который создал правильный файл для меня, был создание нового проекта Android в Android Studio.

Он создал мне новый debug.keystore по пути C:\Users\username\.android\ .

это решение, вероятно, работает только тогда, когда вы еще не создали никаких проектов.

в Windows, если отладка.файл keystore не в расположении (\C:\Users\username.андроид), отладка.keystore файл также может быть найден в том месте, где вы установили Android Studio.

самое простое, что я могу придумать, это захватить отпечаток пальца из отладки.keystore (пути указаны в других ответах) и добавьте это в свой проект. Нет необходимости копировать хранилища ключей или добавлять новые приложения. Просто добавьте к списку отпечатков пальцев для каждой машины, на которой вы разрабатываете.

FWIW, я столкнулся с этим, когда переключился с одного ноутбука на другой. Я прыгаю вокруг много.

надеюсь, что это поможет некоторым людям! :)

файл хранилища ключей по умолчанию: debug.keystore в папке .android который обычно находится в домашней папке по умолчанию вашей операционной системы пользователя, который установил этот Android SDK.

в моем Ubuntu PC это местоположение /home/dhananjay/.android

тогда как на ПК с Windows он расположен по адресу C:\Users\dhananjay\.android

Программирование и админка с почесыванием уха рукой через голову.

Поиски истины

5 сент. 2014 г.

Работа с командной строкой Windows, Программа Debug и её использование

Работа с командной строкой Windows. Программа Debug и её использование.

Запуск Debug.exe, программы для проверки и отладки исполнительных файлов MS-DOS. Выполненная без параметров команда debug запускает программу Debug.exe и выводит приглашение команды debug, представленное дефисом (-).


1) Запустить Virtual PC 2007 с образом Windows XP. Перевести ОС в режим командной строки.


2) Получить и зафиксировать справку по опциям команды debug

image004


3) Получим и зафиксируем дампы характерных областей RAM и ROM

image008

Регистры CS, DS, ES, SS в этот момент инициализированы адресом 256-байтного префикса сегмента програмы, а рабочая области в памяти будет начинаться с адреса этого префикса + 100h.

Б) Пробелы в командах используется только для разделения параметров.

В) Вводимые числа должны быть в шестнадцатеричной системе счисления, причем без завершающей буквы h.

Г) Сегмент и смещение записываются с использованием двоеточия, в формате сегмент:смещение.

Команда D, позволяет просматривать содержимое отдельных областей памяти .
Проверим размер доступной для работы памяти. Для этого введем: d 40:13 и Ввод.
Первые два байта, появившиеся в результате на экране, содержат размер памяти в килобайтах и в шестнадцатеричном представлении, причем байты располагаются в обратной последовательности. У Нас это: 8002 0280 640 (К)

image009

Здесь на запрос просмотра участка памяти мы получили восемь строк, в которых указано содержимое выбранной области памяти. Каждая строка состоит из трех частей:

  • Адрес первого слева показанного байта в формате сегмент:смещение.
  • Шестнадцатеричное представление параграфа (16 байт), начинающегося с указанного в начале строки байта.
  • Символы этого же параграфа в ASCII-формате.


4) Проверка параллельных и последовательных портов.

image011


5) Проверка состояния регистра клавиатуры.

В области данных BIOS по адресу 417h находится первый байт, который хранит состояние регистра клавиатуры..

image013

Сведения об авторских правах на BIOS встроены в ROM BIOS по адресу FE00:0 . Строку с копирайтом можно легко найти в ASCII -последовательности, а серийный номер - в виде шестнадцатеричного числа. На экране видим семизначный номер компьютера и дата копирайт. Хотя, строка с указанием авторских прав может быть длинной и не умещаться в выведенную область памяти. В таком случае следует просто ввести еще раз D.

image015

Дата также записана в ROM BIOS начиная с адреса FFFF:5 . После выполнения соответствующей команды в ASCII -последовательности будет находиться эта дата, записанная в формате мм/дд/гг .

image017

Рассмотрим создание программы на машинном языке, ее представление в памяти и результаты выполнения. Команда отладчика A (Assemble) переводит DEBUG в режим приема команд ассемблера и перевода их в машинные коды.

image019

Теперь, когда программа введена в память, попробуем управлять ее выполнением. Для начала проверим текущее состояние регистров и флагов, для этого вводим команду R.

image021

Здесь же указаны и значения флагов переполнения, направления, прерывания, знака, нуля, дополнительного переноса, четности и переноса:

После регистров и состояния флагов debug.exe выводит информацию о первой инструкции, которая будет выполняться:

  • Адрес инструкции, в нашем случае это 0B16:0100 , где 0B16 - адрес сегмента кода.
  • Машинный код, соответствующей этой инструкции (B025).
  • Собственно инструкция, записанная на ассемблере (MOV AL,25 ).


8) Команда отладчика U (Unassemble) показывает машинные коды для команд ассемблера.

Выполним её. Необходимо сообщить отладчику адреса первой и последней команды, которые необходимо просмотреть (у Нас 100 и 107). Появятся инструкции, находящиеся в указанном диапазоне, на ассемблере, в машинных кодах, а также адрес каждой инструкции. Выполним программу пошагово, используя команду T.

image022

image023


9) Скопировать BIOS (С000:0 . FFFF:F) в файл и сохранить файл для последующего анализа.

Изменение или копирование кода BIOS может нарушить авторское право производителя BIOS. BIOS можно копировать или модифицировать только для целей индивидуального пользования, но не для распространения. Типичная процедура копирования BIOS с помощью программы DEBUG приведем ниже. Эта процедура сохранит в файле весь сегмент в 64 Кбайт с адреса F000:0000h по F0000:FFFFh.

Читайте также: