Qt奇怪的行为

时间:2014-02-07 03:34:22

标签: c++ qt ubuntu gdb qt5

它可能与我先前的问题重复,但我真的气馁。 我现在将我的Windows Qt应用程序移植到Linux Ubuntu。它编译没有问题。但是在调试或运行时发生了一些奇怪的事情

screenshot

这是我在调试时制作的屏幕截图。 不久,我有2个单身人士--CoreManager和Config。雇用我试图获得其中之一 - CoreManager。但是调试器将它显示为Config的实例!!这根本不可能!

这是CoreManager代码的一部分:

CoreManager * ptr = NULL;

CoreManager *CoreManager::instance()
{
    if(ptr == NULL) ptr = new CoreManager();
    return ptr;
}

在Windows上它没有问题。 这两个单身人士课程都是dll btw。

  • Ubuntu 13.10 x64
  • Qt 5.2.0 64位(也从git尝试5.2.1 5.2.2)
  • gcc 4.8
  • gdb 7.6.1

1 个答案:

答案 0 :(得分:0)

看起来好像是Qt Creator的bug(或者不太可能是gdb bug)。

在Qt Creator的菜单栏中,您可以打开Window / Views /“Debugger Log”并输入print cm命令到“Command”字段,查看gdb告诉您的cm符号。