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

Mav*_*vid 5 windows gcc gnu mingw mingw-w64

最初,我想使用MinGW-get GUI安装更新的MinGW软件包,但是当我从"安装"下拉菜单中选择"标记所有升级"时(无论我是否更新目录),它都会崩溃.

现在,我想弄明白为什么guimain.exe会崩溃.

在我的计算机上崩溃的MinGW-get GUI的屏幕截图

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

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

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

小智 10

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

mingw-get upgrade --recursive
Run Code Online (Sandbox Code Playgroud)

这似乎迫使我升级..

  • 谢谢你的提示.解决了Win7_x64上的崩溃升级问题. (3认同)

kcg*_*ost 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 的调试包。