在wine中对特定dll进行relay
找到对特定dll进行wine relay的方法了:
1. 在 HKEY_CURRENT_USER\Software\Wine\Debug 中,把 自带的 RelayExclude 改成 RelayInclude,然后把值改成 dll名称.*,比如 dbghelp.*
注意必须保证 RelayExclude 键不存在,否则 RelayInclude 不会生效。
注意,RelayFromExclude 保持默认即可,From 表示调用者,设置 RelayFromExclude 和 RelayFromInclude 为目标dll只能看到该dll发起的调用,不能看到其他dll对该dll的调用。所以删除 RelayExclude 并设置 RelayInclude 才能达到查看特定dll调用的目的。
2. 设置环境变量
export WINEDEBUG=+loaddll,+pid,+timestamp,+relay
3. 把日志直接重定向到文件,这很重要,因为日志输出是阻塞的,缓慢的终端会影响程序运行速度。不要连接tee,也会变慢。
wine xxx.exe 2> ~/wine.log
这样就不会有一大堆信息了,程序也能以较为正常的速度运行