如何诊断,调试MinGW-get GUI(guimain.exe)崩溃?

时间:2015-04-08 05:29:51

标签: windows gcc mingw gnu mingw-w64

最初,我想使用MinGW-get GUI安装更新的MinGW软件包,但是当我选择" Mark All Upgrades"来自'安装'下拉菜单(无论我是否更新目录)。

现在,我想弄清楚guimain.exe崩溃的原因。

A screen capture of the MinGW-get GUI crashing on my computer

如何诊断和调试此持久性问题?我对GDB模糊不清,但我从未使用它。我不承诺使用Visual Studio调试器。

我假设我需要在最新的MinGW安装程序分支中使用一些辅助二进制文件或调试库:https://sourceforge.net/projects/mingw/files/Installer/mingw-get/mingw-get-0.6.2-beta-20131004-1/

有人可以指导我吗?任何帮助或建议的阅读表示赞赏。

2 个答案:

答案 0 :(得分:10)

对于那些在尝试升级软件包时遇到崩溃的人...尝试以递归模式运行它..

mingw-get upgrade --recursive

这似乎迫使我升级..

答案 1 :(得分:2)

我碰巧遇到同样的问题。 GDB调试方式:

gdb mingw-get.exe

r upgrade(使用参数升级运行)

GDB会自动停在SIGSEGV(分段故障)信号上,这对我来说会发生什么。

bt(获得回溯) 对我来说,这导致了一个巨大的回溯,充满了对:

的呼唤

#5013 0x6f9cdda4 in mingw-get-0!_ZN14pkgXmlDocument19ResolveDependenciesEP10pkgXmlNodeP13pkgActionItem () from c:\MinGW\libexec\mingw-get\mingw-get-0.dll

它看起来像一个快速填满调用堆栈的递归问题。 请注意,功能名称已损坏,我们不知道行号。这是没有调试符号的最佳选择。如果您有调试符号,GDB输出会变得更有用。对于大多数Linux风格的软件包,您可以在与剥离的二进制包类似地命名的-dbg软件包中获取调试符号。但是,我没有在列表中看到mingw32-mingw-get的调试包。