Як зробити зворотне трасування в Windows
Для початку налагодження, запустіть WinDbg та LibreOffice. Скріншоти, які допомагають зрозуміти цей процес, знаходяться в кінці цього розділу.
У WinDbg натисніть F6 або пройдіть в меню File ▸ Attach to a Process. . У діалоговому вікні виберіть soffice.bin зі списку імен файлів (якщо ви запустили LibreOffice він останнім, він зазвичай останній у списку). Після того, як ви натиснете кнопку OK, у вікні з'явиться серія рядків, останній з яких міститимеint 3.
Ви побачите миготливий текстовий курсор у полі команди. На даний момент ви можете або натиснути F5 , або пройти в меню Debug ▸ Go , або ввести символgі натисніть клавішу ↵ Enter , після чого почнеться налагодження. Як тільки налагодження розпочалося, поле команди стане сірим і в ньому буде написаноDebuggee is running., зі словом*BUSY*у полі зліва.
Тепер перейдіть на LibreOffice і спробувати відтворити помилку, яка призводить до зависання або аварійного завершення програми. Якщо вам вдалося відтворити помилку, перейдіть назад WinDbg. Ви побачите, що було надруковано ряд рядків у вікні, останні з яких, як правило, матимуть номер знаки питання в кінці.
Ви помітите, що поле команда знову стало білим. Введіть у поле!analyze -vі натисніть ↵ Enter . WinDbg почне аналіз винятків, і ви знову побачите*BUSY*. Будьте терплячими і дочекайтеся закінчення процесу.
Після того, як аналіз виняток завершено,*BUSY*зникне, і ви зможете виділити виведений текст. Виділіть весь текст із самого початку аналізу винятків і остаточно. Скопіюйте текст, натиснувши Ctrl+C, вибравши в меню Edit ▸ Copy або просто клацнути правою кнопкою миші.
Тепер відкрийте Блокнот із меню Пуск та вставте текст у порожній документ, натискаючи Ctrl+V або через меню Edit ▸ Paste, або клацніть правою кнопкою миші Paste. Збережіть файл за допомогою Ctrl+S або File ▸ Save та назвіть файлbacktrace.txt.
Оскільки LibreOffice ще заблоковано WinDbg, вам потрібно закрити WinDbg: натисніть Alt + F4 або в меню File Exit . Якщо з'явиться діалогове вікно з проханнямSave information for workspace?, виберітьNo. Це закриє як WinDbg, і LibreOffice.