因此,我尝试运行 Discord Bot Maker,这是一个 Web 应用程序。这是我在终端中执行以下命令时得到的结果:wine "Discord Bot Maker.exe"
。
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:system:SetProcessDPIAware stub!
wine: Unhandled page fault on read access to 0x00000004 at address 0x440c49 (thread 0009), starting debugger...
此外,它还会打开 Wine,并显示一个保存日志按钮。它看起来是这样的:
Unhandled exception: page fault on read access to 0x00000004 in 32-bit code (0x00440c49).
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
EIP:00440c49 ESP:0032fbb8 EBP:0032fbe4 EFLAGS:00010246( R- -- I Z- -P- )
EAX:00000000 EBX:00000000 ECX:00000000 EDX:0032fbdc
ESI:00000000 EDI:7b478da0
Stack dump:
0x0032fbb8: 00000003 00000000 7b478da0 00753090
0x0032fbc8: 007530a4 007530a4 004042f1 00000000
0x0032fbd8: 00000000 00000000 00000014 0032fbfc
0x0032fbe8: 00440bbc 00000064 00000000 00000064
0x0032fbf8: 00000064 0032fc1c 00440273 0032fc48
0x0032fc08: 00752358 00751ca0 7b410000 00000001
Backtrace:
=>0 0x00440c49 in discord bot maker (+0x40c49) (0x0032fbe4)
1 0x00440bbc in discord bot maker (+0x40bbb) (0x0032fbfc)
2 0x00440273 in discord bot maker (+0x40272) (0x0032fc1c)
3 0x0040662e in discord bot maker (+0x662d) (0x0032fc30)
4 0x0040496e in discord bot maker (+0x496d) (0x0032fcac)
5 0x004041ec in discord bot maker (+0x41eb) (0x0032fde4)
6 0x00458768 in discord bot maker (+0x58767) (0x0032fe30)
7 0x7b4605fc call_process_entry+0xb() in kernel32 (0x0032fe48)
8 0x7b461644 in kernel32 (+0x51643) (0x0032fe88)
9 0x7bc8090c call_thread_func_wrapper+0xb() in ntdll (0x0032fea8)
10 0x7bc838dd call_thread_func+0xfc() in ntdll (0x0032ffa8)
11 0x7bc808ea RtlRaiseException+0x21() in ntdll (0x0032ffc8)
12 0x7bc52913 call_dll_entry_point+0x3d2() in ntdll (0x0032ffe8)
13 0xf7610b7d wine_call_on_stack+0x1c() in libwine.so.1 (0x00000000)
14 0xf7610ce0 wine_switch_to_stack+0x1f() in libwine.so.1 (0xffe2bfd8)
15 0x7bc5891e LdrInitializeThunk+0x24d() in ntdll (0xffe2c028)
16 0x7b46777a __wine_kernel_init+0xa69() in kernel32 (0xffe2d198)
17 0x7bc597f3 __wine_process_init+0x152() in ntdll (0xffe2d208)
18 0xf760ed37 wine_init+0x2c6() in libwine.so.1 (0xffe2d268)
19 0x7c000ac2 main+0x81() in <wine-loader> (0xffe2d6b8)
20 0xf7431637 __libc_start_main+0xf6() in libc.so.6 (0x00000000)
0x00440c49: cmpw 0x4(%ecx),%ax
Modules:
Module Address Debug info Name (67 modules)
PE 400000- 52e000 Export discord bot maker
PE 1c20000- 1c91000 Deferred nw_elf
ELF 7b400000-7b7e0000 Dwarf kernel32<elf>
\-PE 7b410000-7b7e0000 \ kernel32
ELF 7bc00000-7bcf6000 Dwarf ntdll<elf>
\-PE 7bc10000-7bcf6000 \ ntdll
ELF 7c000000-7c004000 Dwarf <wine-loader>
ELF 7e073000-7e097000 Deferred imm32<elf>
\-PE 7e080000-7e097000 \ imm32
ELF 7e107000-7e131000 Deferred libexpat.so.1
ELF 7e131000-7e17a000 Deferred libfontconfig.so.1
ELF 7e17a000-7e1a5000 Deferred libpng12.so.0
ELF 7e1a5000-7e1c0000 Deferred libz.so.1
ELF 7e1c0000-7e270000 Deferred libfreetype.so.6
PE 7e28b000-7e29f000 Deferred api-ms-win-core-localization-obs
PE 7e290000-7e29f000 Deferred api-ms-win-core-localization-obsC:\windows\system32\api-ms-win-core-localization-obsolete-l1-2-0.dll
ELF 7e29f000-7e2b3000 Deferred api-ms-win-core-datetime-l1-1-1<
PE 7e2a0000-7e2b3000 Deferred api-ms-win-core-datetime-l1-1-1
ELF 7e2b3000-7e2c7000 Deferred api-ms-win-core-string-l1-1-0<el
PE 7e2c0000-7e2c7000 Deferred api-ms-win-core-string-l1-1-0
PE 7e2c7000-7e2dc000 Deferred api-ms-win-core-localization-l1-
PE 7e2d0000-7e2dc000 Deferred api-ms-win-core-localization-l1-C:\windows\system32\api-ms-win-core-localization-l1-2-1.dll
ELF 7e2dc000-7e2f0000 Deferred api-ms-win-core-fibers-l1-1-1<el
PE 7e2e0000-7e2f0000 Deferred api-ms-win-core-fibers-l1-1-1
ELF 7e2f0000-7e313000 Deferred libtinfo.so.5
ELF 7e313000-7e339000 Deferred libncurses.so.5
ELF 7e340000-7e354000 Deferred api-ms-win-core-synch-l1-2-0<elf
PE 7e350000-7e354000 Deferred api-ms-win-core-synch-l1-2-0
ELF 7e354000-7e487000 Deferred oleaut32<elf>
\-PE 7e370000-7e487000 \ oleaut32
ELF 7e487000-7e4a4000 Deferred jsproxy<elf>
\-PE 7e490000-7e4a4000 \ jsproxy
ELF 7e4a4000-7e4e0000 Deferred winhttp<elf>
\-PE 7e4b0000-7e4e0000 \ winhttp
ELF 7e4e0000-7e50b000 Deferred msacm32<elf>
\-PE 7e4f0000-7e50b000 \ msacm32
ELF 7e50b000-7e58b000 Deferred rpcrt4<elf>
\-PE 7e520000-7e58b000 \ rpcrt4
ELF 7e58b000-7e6c4000 Deferred ole32<elf>
\-PE 7e5a0000-7e6c4000 \ ole32
ELF 7e6c4000-7e77c000 Deferred winmm<elf>
\-PE 7e6d0000-7e77c000 \ winmm
ELF 7e77c000-7e796000 Deferred version<elf>
\-PE 7e780000-7e796000 \ version
ELF 7e796000-7e8c6000 Deferred gdi32<elf>
\-PE 7e7a0000-7e8c6000 \ gdi32
ELF 7e8c6000-7ea1b000 Deferred user32<elf>
\-PE 7e8e0000-7ea1b000 \ user32
ELF 7ea1b000-7ea92000 Deferred shlwapi<elf>
\-PE 7ea30000-7ea92000 \ shlwapi
ELF 7ea92000-7ecd4000 Deferred shell32<elf>
\-PE 7eaa0000-7ecd4000 \ shell32
ELF 7ecd4000-7ed4b000 Deferred advapi32<elf>
\-PE 7ece0000-7ed4b000 \ advapi32
ELF 7ef4b000-7ef5e000 Deferred libnss_files.so.2
ELF 7ef5e000-7ef6b000 Deferred libnss_nis.so.2
ELF 7ef6b000-7ef86000 Deferred libnsl.so.1
ELF 7ef86000-7ef90000 Deferred libnss_compat.so.2
ELF 7ef90000-7efe5000 Deferred libm.so.6
ELF 7efec000-7f000000 Deferred psapi<elf>
\-PE 7eff0000-7f000000 \ psapi
ELF f7414000-f7419000 Deferred libdl.so.2
ELF f7419000-f75cf000 Dwarf libc.so.6
ELF f75d0000-f75ed000 Deferred libpthread.so.0
ELF f7608000-f77bf000 Dwarf libwine.so.1
ELF f77c1000-f77e6000 Deferred ld-linux.so.2
ELF f77e8000-f77e9000 Deferred [vdso].so
Threads:
process tid prio (all id:s are in hex)
00000008 (D) Z:\home\user\DBM\discord bot maker.exe
00000009 0 <==
0000000e services.exe
00000020 0
0000001f 0
00000014 0
00000010 0
0000000f 0
00000012 winedevice.exe
0000001c 0
00000019 0
00000018 0
00000013 0
0000001d plugplay.exe
00000022 0
00000021 0
0000001e 0
00000023 explorer.exe
00000028 0
00000027 0
00000026 0
00000025 0
00000024 0
System information:
Wine build: wine-2.0.2
Platform: i386 (WOW64)
Version: Windows XP
Host system: Linux
Host version: 4.10.0-33-generic
答案1
在那张图片上,我捕捉到了操作系统的一些细节
Unhandled exception: page fault on read access to 0x00000004 in 32-bit
code (0x00440c49).
然后我们抓住
Wine build: wine-2.0.2
Platform: i386 (WOW64)
Version: Windows XP
从图片上看,我们得到了 WOW64,我认为必须在 64 位操作系统上安装 wine。但是,你在 32 位操作系统上安装了 wine。
如果您要开始使用新的前缀(例如,在新安装的 Ubuntu 上),您需要做一些特殊的事情:
# Move the old prefix (if one exists)
# You could rm -rf it if you don't want it.
mv ~/.wine/ ~/oldwine/
# Create prefix with rightarch, per
# http://wiki.winehq.org/FAQ#32_bit_wineprefix
WINEARCH=win32 winecfg
就是这样。除非您指定另一个尚不存在的前缀,否则您不需要再次设置 WINEARCH。
最终,随着 Wine64 的成熟,这应该会变得越来越不重要。Wine64 应该能够运行 32 位应用程序。