Название: Подскажите, в чем может быть проблема Отправлено: Zusykss от Июнь 17, 2017, 17:14 Хочу запустить функцию в отдельном потоке.
Он доходит до вызова функции ReadOption() Там заходит в цыкл, и на первом case 0: Вылетает ошибка (:-1: ошибка: Debugger encountered an exception: Exception at 0x7ffd0d16afec, code: 0xc0000005: read access violation at: 0x0, flags=0x0 (first chance)) Подскажите может не правильно потоки делаю, потому что без потока, если просто запустить все работает без проблем. Код:
Название: Re: Подскажите, в чем может быть проблема Отправлено: gil9red от Июнь 17, 2017, 18:49 Попробуйте точнее определить на какой строке исключение, добавьте, например вывод в консоль, через qDebug() << 1;
Кст, в ReadOption реализация с for и switch лишняя, с тем же успехом, но с меньшим количеством кода можно было вписать: Код
Название: Re: Подскажите, в чем может быть проблема Отправлено: Zusykss от Июнь 17, 2017, 19:46 Я на дебагере смотрю, так кажется что он не инициализирован, хотя проверяю указатели, теже ...
пишет ошибку. По смыслу ошибка, что обращаюсь к памяти которой нету. А чего так? Объект создаю в uniqe_ptr Invalid address specified to RtlValidateHeap( 0000019855C50000, 0000000071462E40 ) Debug Assertion Failed! Program: ...er-Desktop_Qt_5_9_0_MSVC2017_64bit-Debug\debug\KinoParser.exe File: minkernel\crts\ucrt\src\appcrt\heap\debug_heap.cpp Line: 904 Expression: _CrtIsValidHeapPointer(block) For information on how your program can cause an assertion failure, see the Visual C++ documentation on asserts. (Press Retry to debug the application) Debug Assertion Failed! Program: ...er-Desktop_Qt_5_9_0_MSVC2017_64bit-Debug\debug\KinoParser.exe File: minkernel\crts\ucrt\src\appcrt\heap\debug_heap.cpp Line: 908 Expression: is_block_type_valid(header->_block_use) For information on how your program can cause an assertion failure, see the Visual C++ documentation on asserts. (Press Retry to debug the application) Debug Error! Program: ...er-Desktop_Qt_5_9_0_MSVC2017_64bit-Debug\debug\KinoParser.exe HEAP CORRUPTION DETECTED: before Free block (#0) at 0x0000000071462E70. CRT detected that the application wrote to memory before start of heap buffer. (Press Retry to debug the application) Отладка завершена Отладка запущена ParserKino(0x1acae334b30) ParserKino(0x1acae334b30) HEAP[KinoParser.exe]: Invalid address specified to RtlValidateHeap( 000001ACAAE10000, 0000000071462D38 ) Debug Assertion Failed! Program: ...er-Desktop_Qt_5_9_0_MSVC2017_64bit-Debug\debug\KinoParser.exe File: minkernel\crts\ucrt\src\appcrt\heap\debug_heap.cpp Line: 904 Expression: _CrtIsValidHeapPointer(block) For information on how your program can cause an assertion failure, see the Visual C++ documentation on asserts. (Press Retry to debug the application) Debug Assertion Failed! Program: ...er-Desktop_Qt_5_9_0_MSVC2017_64bit-Debug\debug\KinoParser.exe File: minkernel\crts\ucrt\src\appcrt\heap\debug_heap.cpp Line: 908 Expression: is_block_type_valid(header->_block_use) For information on how your program can cause an assertion failure, see the Visual C++ documentation on asserts. (Press Retry to debug the application) Отладка завершена Отладка запущена ParserKino(0x1e4b39c4f00) ParserKino(0x1e4b39c4f00) ASSERT: "i >= 0" in file c:\users\qt\work\qt\qtbase\include\qtcore\../../src/corelib/tools/qstring.h, line 1112 Debug Error! Program: C:\Qt\5.9\msvc2017_64\bin\Qt5Cored.dll Module: 5.9.0 File: global\qglobal.cpp Line: 3044 ASSERT: "i >= 0" in file c:\users\qt\work\qt\qtbase\include\qtcore\../../src/corelib/tools/qstring.h, line 1112 (Press Retry to debug the application) Debug Error! Program: ...er-Desktop_Qt_5_9_0_MSVC2017_64bit-Debug\debug\KinoParser.exe abort() has been called (Press Retry to debug the application) Название: Re: Подскажите, в чем может быть проблема Отправлено: Zusykss от Июнь 17, 2017, 19:47 Про колличество кода, спасибо)) Буду теперь короче писать)
Название: Re: Подскажите, в чем может быть проблема Отправлено: Zusykss от Июнь 17, 2017, 20:40 В общем.
Передаю в эту функцию строку, а в функции мне пишет, что строка не доступна, а все остальные поля заполнены мусором, хотя объект создавал и все обнулял, из-за чего такое поведение, объесните кто сталкивался с такой проблеймо. Код:
Название: Re: Подскажите, в чем может быть проблема Отправлено: Zusykss от Июнь 18, 2017, 14:34 Проблема решена)
Название: Re: Подскажите, в чем может быть проблема Отправлено: gil9red от Июнь 18, 2017, 17:03 Молодец, что разобрались :) В чем была причина ошибки?
Название: Re: Подскажите, в чем может быть проблема Отправлено: Zusykss от Июнь 19, 2017, 09:10 Создал указатель на структуру, в одном месте он обнулялся....(
А так все было ок)) |