QNetworkAccessManager 工作得很好,然后每次在 get() 方法上都开始崩溃,这非常简单:
QNetworkReply *reply = myManager->get(QNetworkRequest(QUrl(myUrl)));
堆栈如下:
0 RtlpAllocateHeap ntdll 0x77a93364 1 RtlAllocateHeap ntdll 0x77a93074 2 RtlDebugAllocateHeap ntdll 0x77b310d3 3 RtlpAllocateHeap ntdll 0x77aeb16e 4 RtlAllocateHeap ntdll 0x77a93074 5 _heap_alloc_base MSVCR100D 0x53be8343 6 _nh_malloc_dbg MSVCR100D 0x53bf697c 7 _nh_malloc_dbg MSVCR100D 0x53bf671f 8 _nh_malloc_dbg MSVCR100D 0x53bf66cc 9 malloc MSVCR100D 0x53bf9c5b 10 运营商新 MSVCR100D 0x53be7db1 11 QByteArrayMatcher::~QByteArrayMatcher QtCored4 0x53cecbff 12 QByteArrayMatcher::~QByteArrayMatcher QtCored4 0x53efa480 13 QByteArrayMatcher::~QByteArrayMatcher QtCored4 0x53dbc736 14 QByteArrayMatcher::~QByteArrayMatcher QtCored4 0x53db97d1 15 QByteArrayMatcher::~QByteArrayMatcher QtCored4 0x53db9d26 16 QByteArrayMatcher::~QByteArrayMatcher QtCored4 0x53e0ea8b 17 QByteArrayMatcher::~QByteArrayMatcher QtCored4 0x53e2417c 18 QByteArrayMatcher::~QByteArrayMatcher QtCored4 0x53db8d02 19 QByteArrayMatcher::~QByteArrayMatcher QtCored4 0x53db9f4d 20 QByteArrayMatcher::~QByteArrayMatcher QtCored4 0x53e2c690 21 QByteArrayMatcher::~QByteArrayMatcher QtCored4 0x53e2d020 22 QByteArrayMatcher::~QByteArrayMatcher QtCored4 0x53e2c13b 23 QNetworkProxy::setPassword QtNetworkd4 0x536593e3 24 QNetworkProxy::setPassword QtNetworkd4 0x53658a58 25 QNetworkProxy::setPassword QtNetworkd4 0x53656eb4 26 QNetworkProxy::setPassword QtNetworkd4 0x5365359e 27 QNetworkProxy::setPassword QtNetworkd4 0x536534b8 28 QNetworkProxy::setPassword QtNetworkd4 0x536537ea 29 QNetworkProxy::setPassword QtNetworkd4 0x5360c06f 30 QNetworkProxy::setPassword QtNetworkd4 0x5360b2ec 31 在此处获取命令 myfile.cpp 73 0x552b9123 32 主要 main.cpp 409 0x13aca9 33 WinMain qtmain_win.cpp 131 0xa0e55a 34 __tmainCRTStartup crtexe.c 547 0xa0d7d0 35 WinMainCRTStartup crtexe.c 371 0xa0d55f 36 BaseThreadInitThunk kernel32 0x75f9336a 37 __RtlUserThreadStart ntdll 0x77a992b2 38 _RtlUserThreadStart ntdll 0x77a99285
PS 现在有时会在这一行开始崩溃:
QList<QNetworkInterface> interfaces = QNetworkInterface::allInterfaces();
其他团队成员当然可以从其他 PC 和其他地方运行此代码而不会出现问题。可能是什么原因?!网络问题,防病毒软件,防火墙(试图关闭两者都没有运气)等?!为什么它调用 QNetworkProxy::setPassword?!我没有代理,试图NoProxy
明确设置也没有运气。问题可能是什么?有任何想法吗?