2009-08-26 104 views
2

用户报告说我们的某个应用程序在WINE下无法运行。它一直运行,直到他经过某种形式,然后冻结。 WINE给出以下输出:运行Windows应用程序时出现WINE错误

~/.wine/drive_c/HeroLab$ wine HeroLab.exe 
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (30000): STUB 
fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT 30000 
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (30000): STUB 
fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT 30000 
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (30000): STUB 
fixme:wininet:HTTPREQ_QueryOption Semi-STUB INTERNET_OPTION_SECURITY_FLAGS: 0 
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_SECURITY_FLAGS; STUB 
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (30000): STUB 
fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT 30000 
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (30000): STUB 
fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT 30000 
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (30000): STUB 
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (30000): STUB 
fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT 30000 
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (30000): STUB 
fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT 30000 
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (30000): STUB 
fixme:bitmap:CreateBitmapIndirect planes = 0 
fixme:bitmap:CreateBitmapIndirect planes = 0 
fixme:bitmap:CreateBitmapIndirect planes = 0 
fixme:bitmap:CreateBitmapIndirect planes = 0 
fixme:bitmap:CreateBitmapIndirect planes = 0 
fixme:bitmap:CreateBitmapIndirect planes = 0 
fixme:bitmap:CreateBitmapIndirect planes = 0 
fixme:bitmap:CreateBitmapIndirect planes = 0 
fixme:bitmap:CreateBitmapIndirect planes = 0 
fixme:bitmap:CreateBitmapIndirect planes = 0 
fixme:bitmap:CreateBitmapIndirect planes = 0 

任何人都可以向我解释这些消息吗?我假设他们是来自WINE的消息,报告称我们以WINE不支持的方式调用函数,但我们的代码根本不调用CreateBitmapIndirect。

我们如何找到这个问题的根源,并修复我们的应用程序,使其运行在WINE下?

谢谢。

+5

你可能会更好地直接与葡萄酒开发者取得联系。他们可能非常乐于接触那些有兴趣确保他们的应用能够在WINE中工作的人,并且会知道如何找到这样的错误信息的底部。 – 2009-08-26 19:45:03

+0

http://forum.winehq.org/是唯一的地方吗?我看着那里,但我想我会先在这里尝试,希望有人能够至少向我解释这个错误。 – Colen 2009-08-26 19:45:54

+0

还有一个开发人员的邮件列表,请参阅:http://www.winehq.org/forums。虽然我不确定这个问题在用户论坛还是开发人员名单中会更合适,因为这是两种主题之间的问题。 – 2009-08-26 19:48:55

回答

1

好吧酒处于持续发展状态,您需要找出几件事情;

- 您使用哪种版本的葡萄酒?1.1.38是写作时的最新版本,有可能您正在使用旧版本,从而解决您遇到的问题。
- 哪个应用程序有问题?您是否搜索了应用程序数据库? http://appdb.winehq.org/您可以在Wine下找到运行应用程序的当前状态以及用户遇到的任何问题。

0

在Wine下调试您自己的应用程序。发送反馈给Wine开发人员。

例如: WINEDEBUG = + GDI酒./HeroLab.exe

0

最好的办法是实行日志文件在这里你可以写入调试跟踪语句。添加代码以写出一行代表您在哪里,变量的值等。您可能需要进行多次迭代,添加许多日志记录语句,直到您缩小发生问题的位置。

通过启动应用程序的命令(/D)上的开关激活日志记录。

通过每次写入时关闭并重新打开日志文件来刷新日志文件。你需要这个,因为如果你的应用程序崩溃了,它将不会达到日志文件将被关闭的正常终止代码。

让用户向您发送该文件的副本。玩验尸检。

请注意,葡萄酒是脆弱的,并会由于Windows容忍的违规行为而崩溃。例如。 NULL窗口句柄,无效窗口类等,这是一个改进代码的机会。

我意识到这是旧的,OP已经移动了,我希望它会帮助其他类似问题的人 s)。

相关问题