最初,我想使用MinGW-get GUI安装更新的MinGW软件包,但是当我选择" Mark All Upgrades"来自'安装'下拉菜单(无论我是否更新目录)。
现在,我想弄清楚guimain.exe
崩溃的原因。
如何诊断和调试此持久性问题?我对GDB模糊不清,但我从未使用它。我不承诺使用Visual Studio调试器。
我假设我需要在最新的MinGW安装程序分支中使用一些辅助二进制文件或调试库:https://sourceforge.net/projects/mingw/files/Installer/mingw-get/mingw-get-0.6.2-beta-20131004-1/
有人可以指导我吗?任何帮助或建议的阅读表示赞赏。
答案 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的调试包。