Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


etc:users:jcmvbkbc:wine_mcbc

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
etc:users:jcmvbkbc:wine_mcbc [2007/10/14 01:18] jcmvbkbcetc:users:jcmvbkbc:wine_mcbc [2016/08/08 20:53] (current) – ↷ Page moved from users:jcmvbkbc:wine_mcbc to etc:users:jcmvbkbc:wine_mcbc kel
Line 1: Line 1:
-===== Wine под МСВС ===== +====== Wine под МСВС ====== 
-=== Начало истории для меня ===+===== Начало истории для меня =====
 http://etersoft.ru http://etersoft.ru
-=== Патчи для компиляции wine в МСВС 3.0 изм.13 === + 
-=== Проблемы времени выполнения === +===== Проблемы времени выполнения ===== 
-wine-preloader падает с segmentation fault после загрузки кода приложения, при попытке начать его исполнение.+ 
 +==== Первоначальный запуск wine неполностью инициализирует ~/.wine ==== 
 + 
 +Симптомы: 
 +<code> 
 +$ wine 
 +WINE@Etersoft 1.0.8 
 +First running... Using WINEPREFIX=/home/dumb/.wine 
 +Creating default file tree... 
 +/usr/bin/wine: line 194:  2506 Segmentation fault      WINESAFE=yes "${WINELOADER}" rundll32.exe setupapi.dll,InstallHinfSection DefaultInstall 128 wine.inf 
 +/usr/bin/wine: line 195:  2509 Segmentation fault      WINESAFE=yes "${WINELOADER}" regedit.exe "$CROOT/windows/inf/vendor.reg" 
 +Building local environment... 
 +Device 'a:' created as link for '/mnt/floppy' target. 
 +... 
 +Device 'lpt4' created as link for '/dev/lp3' target. 
 +/usr/bin/wine: line 268:  2535 Segmentation fault      $WINELOADER wineboot 
 +WINE@Etersoft has been configured for the first time. 
 +Use /home/dumb/wine_c as WINE C:\ disk. 
 +Copy your program into and install it. 
 +</code> 
 +В результате каталог c:\windows\system32 не содержит dll, но все работает с dll из /usr/lib/wine/
 +Однако, взяв заполненный c:\windows\system32 ничего запустить не могу: 
 +<code> 
 +$ wine-kthread ./1cv7s.exe 
 +wine: Unhandled page fault on read access to 0x00000000 at address 0x402586f8 (thread 0009), starting debugger... 
 +err:seh:start_debugger Couldn't start debugger ("winedbg --auto 8 56") (1359) 
 +Read the Wine Developers Guide on how to set up winedbg or another debugger 
 +</code> 
 + 
 +==== wine-preloader загружает wine-kthread и падает с segmentation fault при попытке начать его исполнение ====
  
 Ход разборок: Ход разборок:
Line 51: Line 80:
 gs             0x0      0 gs             0x0      0
 </code> </code>
-получается, после сдвига стека на 0x1000 вниз все сломалось.+получается, после сдвига стека на 0x1000 вниз все сломалось. wine-preloader резервирует мало стека?
  
 Написал тест: Написал тест:
Line 66: Line 95:
 } }
 </code> </code>
-падает в одном и том же (по стеку и по i) месте, как при обычном запуске, так и при запуске wine-preloader'ом.+падает в одном и том же (по стеку и по i) месте, как при обычном запуске, так и при запуске wine-preloader'ом. С объемом стека все в порядке.
  
 Нашел **настоящую** разницу: после загрузки wine-kthread резервирует пямять. Когда он запускается сам по себе картина такова: Нашел **настоящую** разницу: после загрузки wine-kthread резервирует пямять. Когда он запускается сам по себе картина такова:
Line 103: Line 132:
 </code> </code>
  
 +{{tag>МСВС}}
etc/users/jcmvbkbc/wine_mcbc.1192310294.txt.gz · Last modified: 2008/01/03 02:32 (external edit)