Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: SL от Декабрь 19, 2010, 21:15



Название: QT проблема с отладкой
Отправлено: SL от Декабрь 19, 2010, 21:15
Здравствуйте коллеги

Понадобилось спортировать с Linux - а для винды одно приложение. Собственно мои действия пошел на тролтех скачал готовые либы для 2008 студии http://qt.nokia.com/downloads/windows-cpp-vs2008.
Собрал приложение, он запустилось но естественно работало не так как надо, при попытки отлаживаться постоянно летят исключения из ntdll.dll.

Цитировать
First-chance exception at 0x7c90e4ff in QTGUI.exe: 0xC0000008: An invalid handle was specified.

После этого визардом создал минимальное гуевое приложение
Код:
////qtgui.h////////
 
#ifndef QTGUI_H
#define QTGUI_H
#include <QtGui/QMainWindow>
#include "ui_qtgui.h"
 
class QTGUI : public QMainWindow
{
    Q_OBJECT
 
public:
    QTGUI(QWidget *parent = 0, Qt::WFlags flags = 0);
    ~QTGUI();
 
private:
    Ui::QTGUIClass ui;
};
#endif // QTGUI_H
////qtgui.сpp////////
#include "qtgui.h"
 
QTGUI::QTGUI(QWidget *parent, Qt::WFlags flags)
    : QMainWindow(parent, flags)
{
    ui.setupUi(this);
}
 
QTGUI::~QTGUI()
{
 
}
 
///main.cpp////////
 
#include "qtgui.h"
#include <QtGui/QApplication>
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QTGUI w;
    w.show();
    return a.exec();
}

если запускать без отладки оно отлично запускается, но если с отладкой получаю тот же ексепшен вот стэк

Цитировать
>   ntdll.dll!_KiRaiseUserExceptionDispatcher@0()  + 0x37 bytes   
    ntdll.dll!_KiFastSystemCall@0()  + 0x3 bytes   
    ntdll.dll!_NtClose@4()  + 0xc bytes   
    kernel32.dll!_CloseHandle@4()  + 0x44 bytes   
    009118ab()   
    ntdll.dll!_RtlAcquirePebLock@0()  + 0x28 bytes   
    ntdll.dll!_LdrUnlockLoaderLock@8()  + 0x5f bytes   
    ntdll.dll!_RtlInitializeCriticalSectionAndSpinCount@8()  + 0xac bytes   
    ntdll.dll!_RtlInitializeCriticalSection@4()  + 0xf bytes   
    ntdll.dll!_RtlpImageNtHeader@4()  + 0x4a bytes   
    ws2_32.dll!71a90000()    
    ntdll.dll!_LdrpCallInitRoutine@16()  + 0x14 bytes   
    00130000()   

причем в программе четыре потока

Цитировать
1   >   3816   Main Thread   Main Thread   _KiRaiseUserExceptionDispatcher@0   Normal   0
0       3424   Worker Thread   Win32 Thread   _KiFastSystemCallRet@0   Normal   0
0       812   Worker Thread   Win32 Thread   _KiFastSystemCallRet@0   Normal   0
0       2844   Worker Thread   Win32 Thread   _KiFastSystemCallRet@0   Normal   0
0       3416   Worker Thread   Win32 Thread   _KiFastSystemCallRet@0   Normal   0

вот что выдает output

Цитировать
'QTTest2008.exe': Loaded 'I:\work\MyProject\QTTest2008\Debug\QTTest2008.exe', Symbols loaded.
'QTTest2008.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll', Symbols loaded (source information stripped).
'QTTest2008.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll', Symbols loaded (source information stripped).
'QTTest2008.exe': Loaded 'C:\Qt\4.7.1\bin\QtCored4.dll', Symbols loaded.
'QTTest2008.exe': Loaded 'C:\WINDOWS\system32\user32.dll', Symbols loaded (source information stripped).
'QTTest2008.exe': Loaded 'C:\WINDOWS\system32\gdi32.dll', Symbols loaded (source information stripped).
'QTTest2008.exe': Loaded 'C:\WINDOWS\system32\ole32.dll', Symbols loaded (source information stripped).
'QTTest2008.exe': Loaded 'C:\WINDOWS\system32\advapi32.dll', Symbols loaded (source information stripped).
'QTTest2008.exe': Loaded 'C:\WINDOWS\system32\rpcrt4.dll', Symbols loaded (source information stripped).
'QTTest2008.exe': Loaded 'C:\WINDOWS\system32\secur32.dll', Symbols loaded (source information stripped).
'QTTest2008.exe': Loaded 'C:\WINDOWS\system32\msvcrt.dll', Symbols loaded (source information stripped).
'QTTest2008.exe': Loaded 'C:\WINDOWS\system32\ws2_32.dll', Symbols loaded (source information stripped).
'QTTest2008.exe': Loaded 'C:\WINDOWS\system32\ws2help.dll', Symbols loaded (source information stripped).
'QTTest2008.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_597c3456\msvcp90d.dll', Symbols loaded.
'QTTest2008.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_597c3456\msvcr90d.dll', Symbols loaded.
'QTTest2008.exe': Loaded 'C:\Qt\4.7.1\bin\QtGuid4.dll', Symbols loaded.
'QTTest2008.exe': Loaded 'C:\WINDOWS\system32\comdlg32.dll', Symbols loaded (source information stripped).
'QTTest2008.exe': Loaded 'C:\WINDOWS\system32\comctl32.dll', Symbols loaded (source information stripped).
'QTTest2008.exe': Loaded 'C:\WINDOWS\system32\shell32.dll', Symbols loaded (source information stripped).
'QTTest2008.exe': Loaded 'C:\WINDOWS\system32\shlwapi.dll', Symbols loaded (source information stripped).
'QTTest2008.exe': Loaded 'C:\WINDOWS\system32\oleaut32.dll', Symbols loaded (source information stripped).
'QTTest2008.exe': Loaded 'C:\WINDOWS\system32\imm32.dll', Symbols loaded (source information stripped).
'QTTest2008.exe': Loaded 'C:\WINDOWS\system32\winmm.dll', Symbols loaded (source information stripped).
'QTTest2008.exe': Loaded 'C:\WINDOWS\system32\winspool.drv', Symbols loaded (source information stripped).
'QTTest2008.exe': Loaded 'C:\WINDOWS\system32\crypt32.dll', Symbols loaded (source information stripped).
'QTTest2008.exe': Loaded 'C:\WINDOWS\system32\msasn1.dll', Symbols loaded (source information stripped).
First-chance exception at 0x7c90e4ff (ntdll.dll) in QTTest2008.exe: 0xC0000008: An invalid handle was specified.

если запустить приложение и податтачиться к нему из студии, то летят те же самые эксепшены.


Название: Re: QT проблема с отладкой
Отправлено: SL от Декабрь 19, 2010, 21:20
Я сначала подумал что это возможно связано с тем что либы собранные для 2008 студии и у меня есть какеи от отличия в студии. Да и заказчик, в общем просил сделать в 2005 студии, скачал исходники QT http://get.qt.nokia.com/qt/source/qt-every...e-src-4.7.1.zip

Собрал с такими параметрами

configure -debug-and-release -platform win32-msvc2005 -qt-gif -qt-libmng -qt-libjpeg -qt-zlib -fast -qt-libpng -rtti -nomake demos -nomake examples

результат тот же при отладке летят исключения, собрал Qt со статической линковкой все ровно результат тот же.



Название: Re: QT проблема с отладкой
Отправлено: Fat-Zer от Декабрь 19, 2010, 21:25
а qtcreator'ом под виндой если собирать?