Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: restart50 от Май 10, 2009, 19:51



Название: Ошибка при отладке Debug...
Отправлено: restart50 от Май 10, 2009, 19:51
Пытаюсь построить пример из книги. Выдается ошибка
Первый этап обработки исключения в "0x7c90e4df" в "test.exe": 0xC0000008: An invalid handle was specified.
Но не критическая, т.е программа нормально работает.
Подскажите пожалуйста. VS 2008, win xp 32


Название: Re: Ошибка при построении...
Отправлено: pastor от Май 10, 2009, 20:34
Что за пример? Выложи код? На какой строке ошибка?


Название: Re: Ошибка при построении...
Отправлено: ритт от Май 10, 2009, 20:44
Паш, ты не понял - надо по адресу угадать ошибку :)


Название: Re: Ошибка при построении...
Отправлено: pastor от Май 10, 2009, 22:05
Паш, ты не понял - надо по адресу угадать ошибку :)

А я сразу и не догадался  ;D


Название: Re: Ошибка при построении...
Отправлено: restart50 от Май 11, 2009, 16:53
Извините :) Наверно не то сказал. Построение проходит норм, а когда начинаю отладку Debug
Вот пример
main.cpp
Код
C++ (Qt)
#include <QtGui/QApplication>
#include <QLabel>
#include "test.h"
#include <QHBoxLayout>
#include <QSlider>
#include <QSpinbox>
int main(int argc,char *argv[])
{
QApplication app(argc, argv);
QWidget *window = new QWidget;
window->setWindowTitle("Enter your age");
QSpinBox *spinBox = new QSpinBox;
QSlider *slider = new QSlider(Qt::Horizontal);
spinBox ->setRange(0, 100);
slider ->setRange(0, 100);
QObject::connect(spinBox, SIGNAL(valueChanged(int)),
slider, SLOT(setValue(int)));
QObject::connect(slider, SIGNAL(valueChanged(int)),
spinBox, SLOT(setValue(int)));
spinBox ->setValue(34);
QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(spinBox);
layout->addWidget(slider);
window->setLayout(layout);
window->show();
return app.exec();
}
А вот ход отладки
"test.exe": Загружено: "C:\Documents and Settings\ILLu$ioNi$T\Мои документы\Visual Studio 2008\Projects\test\Debug\test.exe", Символы загружены.
"test.exe": Загружено "C:\WINDOWS\system32\ntdll.dll"
"test.exe": Загружено "C:\WINDOWS\system32\kernel32.dll"
"test.exe": Загружено: "C:\Qt\4.4.3\bin\QtCored4.dll", Символы загружены.
"test.exe": Загружено "C:\WINDOWS\system32\user32.dll"
"test.exe": Загружено "C:\WINDOWS\system32\gdi32.dll"
"test.exe": Загружено "C:\WINDOWS\system32\ole32.dll"
"test.exe": Загружено "C:\WINDOWS\system32\advapi32.dll"
"test.exe": Загружено "C:\WINDOWS\system32\rpcrt4.dll"
"test.exe": Загружено "C:\WINDOWS\system32\secur32.dll"
"test.exe": Загружено "C:\WINDOWS\system32\msvcrt.dll"
"test.exe": Загружено "C:\WINDOWS\system32\ws2_32.dll"
"test.exe": Загружено "C:\WINDOWS\system32\ws2help.dll"
"test.exe": Загружено: "C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_597c3456\msvcp90d.dll", Символы загружены.
"test.exe": Загружено: "C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_597c3456\msvcr90d.dll", Символы загружены.
"test.exe": Загружено: "C:\Qt\4.4.3\bin\QtGuid4.dll", Символы загружены.
"test.exe": Загружено "C:\WINDOWS\system32\comdlg32.dll"
"test.exe": Загружено "C:\WINDOWS\system32\comctl32.dll"
"test.exe": Загружено "C:\WINDOWS\system32\shell32.dll"
"test.exe": Загружено "C:\WINDOWS\system32\shlwapi.dll"
"test.exe": Загружено "C:\WINDOWS\system32\oleaut32.dll"
"test.exe": Загружено "C:\WINDOWS\system32\imm32.dll"
"test.exe": Загружено "C:\WINDOWS\system32\winmm.dll"
"test.exe": Загружено "C:\WINDOWS\system32\winspool.drv"
"test.exe": Загружено: "C:\WINDOWS\system32\ice_time.dll", Двоичный код не был построен с отладочной информацией.
Первый этап обработки исключения в "0x7c90e4df" в "test.exe": 0xC0000008: An invalid handle was specified.
"test.exe": Загружено "C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\comctl32.dll"
"test.exe": Загружено "C:\WINDOWS\system32\uxtheme.dll"
"test.exe": Загружено "C:\WINDOWS\system32\MSCTF.dll"
"test.exe": Загружено "C:\WINDOWS\system32\version.dll"
"test.exe": Выгружено: "C:\WINDOWS\system32\version.dll"
"test.exe": Загружено "C:\WINDOWS\system32\MSCTFIME.IME"
"test.exe": Загружено "C:\WINDOWS\system32\CTAGENT.DLL"


Название: Re: Ошибка при отладке Debug...
Отправлено: pastor от Май 11, 2009, 17:10
Покажи стек вызовов (Call Stack) при краше


Название: Re: Ошибка при отладке Debug...
Отправлено: lit-uriy от Май 11, 2009, 17:24
а фраза:
"Двоичный код не был построен с отладочной информацией."
не наталкивает ни на какие мысли?


Название: Re: Ошибка при отладке Debug...
Отправлено: restart50 от Май 11, 2009, 20:44
Покажи стек вызовов (Call Stack) при краше
Стек вызовов при краше
>   ntdll.dll!7c90e4df()    
    [Указанные ниже фреймы могут быть неверны и (или) отсутствовать, символы для ntdll.dll не загружены]   
    ice_time.dll!10008049()    
    ice_time.dll!1000607c()    
    ice_time.dll!1000618d()    
    ice_time.dll!10003060()    
    ntdll.dll!7c90cfdc()    
    ice_time.dll!1000262c()    
    ice_time.dll!10001eed()    
    ice_time.dll!1000194d()    
    ice_time.dll!1000702e()    
    ntdll.dll!7c90118a()    
    ntdll.dll!7c91c4da()    
    ntdll.dll!7c916351()    
    ntdll.dll!7c9158df()    
    ntdll.dll!7c9157a1()    
    ntdll.dll!7c9237a6()    
    ntdll.dll!7c92271e()    
    ntdll.dll!7c90e437()    
    kernel32.dll!7c8106f5()    
а фраза:
"Двоичный код не был построен с отладочной информацией."
не наталкивает ни на какие мысли?
Для меня не понятно какую связь это имеет с этой ошибкой и насколько она является "ошибкой", т.е. влияет ли она на работу программы вообще...
Что означает эта ошибка и как от нее избавится.
Буду рад, если подскажете :)

И еще один вопрос. Кликаю правой кнопкой на названии проекта, жму перестроить, идеи процесс
Цитировать
------ Перестроение всех файлов начато: проект: test, Конфигурация: Debug Win32 ------
Удаление промежуточных и выходных файлов проекта "test", конфигурации "Debug|Win32"
Uic'ing c:\Documents and Settings\ILLu$ioNi$T\Мои документы\Visual Studio 2008\Projects\test\test\test.ui...
Moc'ing test.h...
Компиляция...
moc_test.cpp
test.cpp
main.cpp
Создание кода...
Компиляция ресурсов...
Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
Copyright (C) Microsoft Corporation.  All rights reserved.
Компоновка...
LINK : не найден или не выполнена сборка C:\Documents and Settings\ILLu$ioNi$T\Мои документы\Visual Studio 2008\Projects\test\Debug\test.exe при последней инкрементной компоновке; выполняется полная компоновка
Внедрение манифеста...
Журнал построения был сохранен в "file://c:\Documents and Settings\ILLu$ioNi$T\Мои документы\Visual Studio 2008\Projects\test\test\Debug\BuildLog.htm"
test - ошибок 0, предупреждений 0
========== Перестроение всех: успешно: 1, с ошибками: 0, пропущено: 0 ==========
Потом пытаюсь запустить по пути
Мои документы\Visual Studio 2008\Projects\test\Debug
файл test.exe
Выдается сообщение
Приложению не удалось запуститься, поскольку QtCored4.dll не был найден. ...
Но такой файл есть в папке QT. Нужно прописать путь к библиотекам что ли или я чет не понимаю?)


Название: Re: Ошибка при отладке Debug...
Отправлено: lit-uriy от Май 11, 2009, 20:59
>>Для меня не понятно какую связь это имеет с этой ошибкой
Видимо ты собираешь не отладочную версию программы, а пытаешся отлаживаться. Про студийные штуки не знаю чего там и как настраивается

>>Нужно прописать путь к библиотекам что ли или я чет не понимаю?)
да в переменную PATH путь до каталога bin (Qtшного)


Название: Re: Ошибка при отладке Debug...
Отправлено: restart50 от Май 12, 2009, 08:25
Разобрался. Спасибо всем за то, что вы есть и откликнулись  ;)


Название: Re: Ошибка при отладке Debug...
Отправлено: restart50 от Май 12, 2009, 19:58
Еще один вопрос. Запускаю я на своей машине, где есть библиотека QT
А как быть для другой, где нету, кроме установки библиотеки на нее?


Название: Re: Ошибка при отладке Debug...
Отправлено: lit-uriy от Май 12, 2009, 21:13
взять с собой используемые dll'ки (которые в каталоге bin)
И ещё вот это (http://wiki.crossplatform.ru/index.php/Развертывание_приложений_Qt_в_MS_Windows) прочитай