Winedbg — различия между версиями

Материал из Русский WINE
Перейти к: навигация, поиск
(Новая страница: «<pre> $ winedbg Wine-dbg>info proc pid threads executable (all id:s are in hex) 00000010 8 'services.exe' 0000002e 3 \_ 'plugplay.exe' 00…»)
(нет различий)

Версия 12:19, 14 июля 2015

$ winedbg

Wine-dbg>info proc
 pid      threads  executable (all id:s are in hex)
 00000010 8        'services.exe'
 0000002e 3        \_ 'plugplay.exe'
 00000020 3        \_ 'winedevice.exe'
 00000014 3        \_ 'winedevice.exe'
 0000001e 6           \_ 'winedevice.exe'

Подсоединиться к нужному процессу/потоку, указав его PID в шестнадцатиричном виде с префиксом 0x:

Wine-dbg>attach 0x20
0xb760cccf __libc_read+0x3f in libpthread.so.0: int	$0x80

Посмотреть backtrace:

Wine-dbg>bt 
Backtrace:
=>0 0xb760cccf __libc_read+0x3f() in libpthread.so.0 (0x8122f678)
  1 0x8ff6440f in ntdll (+0x6440e) (0x8122f678)
  2 0x8ff666f3 in ntdll (+0x666f2) (0x8122f8a8)
...

Отключиться от процесса:

Wine-dbg>detach

Или продолжить выполнение:

Wine-dbg>c


Выйти из отладчика:

q

Если не ясно, какой именно поток зависший, можно просмотреть все.

Также нужно подключиться через $ strace -p PID к зависшему потоку (который берёт 100% процессора) и записать, что выводится там.