etc:users:jcmvbkbc:wine_mcbc
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| etc:users:jcmvbkbc:wine_mcbc [2007/10/13 19:23] – jcmvbkbc | etc: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 под МСВС ====== |
| + | ===== Начало истории для меня | ||
| http:// | http:// | ||
| - | == Патчи для компиляции wine в МСВС 3.0 изм.13 | + | |
| - | == Проблемы времени выполнения == | + | ===== Проблемы времени выполнения |
| - | wine-preloader падает с segmentation fault после загрузки | + | |
| + | ==== Первоначальный запуск wine неполностью инициализирует ~/.wine ==== | ||
| + | |||
| + | Симптомы: | ||
| + | < | ||
| + | $ wine | ||
| + | WINE@Etersoft 1.0.8 | ||
| + | First running... Using WINEPREFIX=/ | ||
| + | Creating default file tree... | ||
| + | / | ||
| + | / | ||
| + | Building local environment... | ||
| + | Device ' | ||
| + | ... | ||
| + | Device ' | ||
| + | / | ||
| + | WINE@Etersoft has been configured for the first time. | ||
| + | Use / | ||
| + | Copy your program into and install it. | ||
| + | </ | ||
| + | В результате каталог c: | ||
| + | Однако, взяв заполненный c: | ||
| + | < | ||
| + | $ wine-kthread ./ | ||
| + | wine: Unhandled page fault on read access to 0x00000000 at address 0x402586f8 (thread 0009), starting debugger... | ||
| + | err: | ||
| + | Read the Wine Developers Guide on how to set up winedbg or another debugger | ||
| + | </ | ||
| + | |||
| + | ==== wine-preloader загружает wine-kthread | ||
| Ход разборок: | Ход разборок: | ||
| Line 50: | Line 80: | ||
| gs | gs | ||
| </ | </ | ||
| - | получается, | + | получается, |
| + | |||
| + | Написал тест: | ||
| + | < | ||
| + | void f(int i) | ||
| + | { | ||
| + | int r[4096]; | ||
| + | f(i+1); | ||
| + | } | ||
| + | |||
| + | int main() | ||
| + | { | ||
| + | f(0); | ||
| + | } | ||
| + | </ | ||
| + | падает в одном и том же (по стеку и по i) месте, как при обычном запуске, так и при запуске wine-preloader' | ||
| + | |||
| + | Нашел **настоящую** разницу: | ||
| + | < | ||
| + | ... | ||
| + | stat("/ | ||
| + | old_mmap(0x7ffe0000, | ||
| + | old_mmap(0x1000, | ||
| + | old_mmap(NULL, | ||
| + | open("/ | ||
| + | ... | ||
| + | </ | ||
| + | Когда же через wine-preloader: | ||
| + | < | ||
| + | ... | ||
| + | stat("/ | ||
| + | old_mmap(0x7ffe0000, | ||
| + | old_mmap(0x7ffe0000, | ||
| + | old_mmap(0x7ffe0000, | ||
| + | munmap(0x6021a000, | ||
| + | old_mmap(0x7ffe0000, | ||
| + | munmap(0x6021a000, | ||
| + | old_mmap(0x7ffe0000, | ||
| + | ... | ||
| + | old_mmap(0x87fe0000, | ||
| + | old_mmap(0x8ffe0000, | ||
| + | old_mmap(0x8ffe0000, | ||
| + | ... | ||
| + | old_mmap(0xbffd0000, | ||
| + | old_mmap(0x1000, | ||
| + | brk(0x7c004000) | ||
| + | open("/ | ||
| + | fstat(4, {st_mode=S_IFREG|0755, | ||
| + | --- SIGSEGV (Segmentation fault) @ 0 (0) --- | ||
| + | ... | ||
| + | </ | ||
| + | |||
| + | {{tag> | ||
etc/users/jcmvbkbc/wine_mcbc.1192288984.txt.gz · Last modified: 2008/01/03 02:32 (external edit)