GoldenDict 这些错误该怎么解决?

最近GoldenDict老是闪退,故这样启动程序:

goldendict.exe --log-to-file --show-error-file

遇到闪退或词典显示异常,会在 portable 文件夹生成 gd_log.txt 日志文件。下面是代表性的问题。这些错误该怎么解决?

Warning: Handle global hotkeys via GdHotkeys.dll

Warning: libpng warning: iCCP: known incorrect sRGB profile

Warning: DirectWrite: CreateFontFaceFromHDC() failed (Indicates an error
 in an input file such as a font file.) for QFontDef(Family="Fixedsys", 
pointsize=10.5, pixelsize=20, styleHint=5, weight=50, stretch=100, 
hintingPreference=0) LOGFONT("Fixedsys", lfWidth=0, lfHeight=-20) dpi=144

Debug: MediaWiki: requesting article house

Warning: QPainter::end: Painter not active, aborted

Warning: Articles searching failed, error: The index wasn't opened

上面日志里没有关键信息。需要调试故障转储文件才知道具体原因。如果闪退没有任何弹窗的话,可以参考下面链接里修改注册表的操作,下次程序崩溃后,会自动生成故障转储文件,写入到指定的DumpFolder目录里,到时把文件上传到网盘再看看。

注意原文第三行的最后一个1,需要改成2。 2代表生成完整的故障转储文件。1是生成小型的。

DumpType /t REG_DWORD /d 1
3 个赞

@last_idol 非常感谢指导。 这是刚刚获取的 “gd_log.txt”:

Warning: Handle global hotkeys via GdHotkeys.dll
Warning: libpng warning: iCCP: known incorrect sRGB profile
Warning: libpng warning: iCCP: known incorrect sRGB profile
Warning: libpng warning: iCCP: known incorrect sRGB profile
Warning: libpng warning: iCCP: known incorrect sRGB profile
Warning: libpng warning: iCCP: known incorrect sRGB profile
Warning: libpng warning: iCCP: known incorrect sRGB profile
Warning: DirectWrite: CreateFontFaceFromHDC() failed (Indicates an error in an input file such as a font file.) for QFontDef(Family="Fixedsys", pointsize=9.5, pixelsize=20, styleHint=5, weight=50, stretch=100, hintingPreference=0) LOGFONT("Fixedsys", lfWidth=0, lfHeight=-20) dpi=144
Debug: clicked QUrl("gdau://5c82862fae09acc44144fc2f8f2ed04d/audio/house_n0205.mp3")

CrashDump 文件: (512MB)

一直用俄罗斯论坛版。
2022_06_30

2022/06/27更新:“GoldenDict 官方版( 俄罗斯论坛最新版)goldendict-1.5.0-RC2-532”

是这个文件,再把关于GoldenDict截图下,看下你用的版本。

加在上面了,是俄罗斯论坛版。以前一直很稳定的。也不知道现在是软件问题还是词典的问题。

俄罗斯版,我这没有对应的符号表,不好定位,晚点再看看。

1 个赞

最开始的崩溃发生在Qt5Webkit里,不是GoldenDict的错误。要么是外部查询的网页有问题,要么是词典里的某个文件有问题。需要你自己一本本测试了。

@last_idol
谢谢!
That makes sense! 以前GD很少崩溃的。

由于发生是随机的,有没有信息可以缩小检查范围?关键是,闪退后,重新启动GD后, 似乎又变正常。所以很难立即reproduce it.

gd_log.txt文件也没法找到相关信息!

看不到更详细的信息了。随机问题不好解决,要么退个版本,要么换成使用QtWebEngine浏览器的版本,Qt5Webkit浏览器的Github仓库,原来有俄国人在维护,现在没人了,issues里一堆崩溃问题,以后问题只会更多。