Опять падает аппликация, на этот раз абслютно не понимаю почему. Дебаг работает нормально, релиз валится. Включил дебаговую инфу в релиз и вот что показал стек после того как упал...
feeefeee()
_AFX_CTL3D_THREAD::~_AFX_CTL3D_THREAD(_AFX_CTL3D_THREAD * const 0x00146a90) line 41
_AFX_CTL3D_THREAD::`scalar deleting destructor'(_AFX_CTL3D_THREAD * const 0x00146a90, unsigned int 1) + 8 bytes
CThreadSlotData::FreeSlot(CThreadSlotData * const 0x00146a90, int 3) line 240
CThreadLocalObject::~CThreadLocalObject(CThreadLocalObject * const
0x00146a90 {CThreadLocalObject}) line 427
TTN! _c_exit + 104 bytes
TTN! exit + 13 bytes
TTN! WinMainCRTStartup + 233 bytes
KERNEL32! 77e814c7()
Понятия не имею что такое _AFX_CTL3D_THREAD Может кто подкинет идейки? Видно что падает после выхода из главной фукнции уже..
вот сейчас действительно падает...
-
- Уже с Приветом
- Posts: 9392
- Joined: 18 Mar 2004 15:11
- Location: New York -> FL
-
- Уже с Приветом
- Posts: 569
- Joined: 14 Dec 2003 04:06
- Location: Львов->Киев->Торонто
Re: вот сейчас действительно падает...
shadow7256 wrote:Опять падает аппликация, на этот раз абслютно не понимаю почему. Дебаг работает нормально, релиз валится. Включил дебаговую инфу в релиз и вот что показал стек после того как упал...
...
Понятия не имею что такое _AFX_CTL3D_THREAD :pain1: Может кто подкинет идейки? Видно что падает после выхода из главной фукнции уже..
По моему WinMainCRTStartup != WinMain то есть на самом деле до функции main дело еще не доходит.
Я бы проверил не делается ли чего подозрительного в конструкторах статических объектов потому что именно они вызываются до выполнения main()
Никакой разрухи нет. (с) Проф. Преображенский.
-
- Уже с Приветом
- Posts: 12072
- Joined: 17 Nov 2002 03:41
- Location: английская колония
-
- Уже с Приветом
- Posts: 569
- Joined: 14 Dec 2003 04:06
- Location: Львов->Киев->Торонто
A. Fig Lee wrote:Мой пойнт - че то у Вас там линкуется разное - что синглетред, чтото малтитред.
CThreadLocalObject наводит тебя на такие размышления?
Так дело в том что ему вызывается деструктор. То есть конструктор был вызван успешно.
Code: Select all
3 TTN! exit + 13 bytes
2 TTN! WinMainCRTStartup + 233 bytes
1 KERNEL32! 77e814c7()
Итак: 1 - операционка запускает executable.
2 - Загрузив имидж и слинковав его ОС вызывает WinMainCRTStartup который должен инициилизировать все и вызвать WinMain(). Но как мы видим в процессе инициализации ему плохеет и все что мы видим далее есть вываливание из программы и к предмету разбирательсва оношение вряд ли имеет.
Никакой разрухи нет. (с) Проф. Преображенский.
-
- Уже с Приветом
- Posts: 9392
- Joined: 18 Mar 2004 15:11
- Location: New York -> FL
Вот когда это происходит.
Если я линкую МФС библиотеку к проекту как Shared DLL, то проблем нет. Как только линкую как Static LIB, то начинают сразу вылазить сообщения типа:
msvcprt.lib(MSVCP60.dll) : error LNK2005: "private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Tidy(bool)" (?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z) alread
y defined in AppSettings.obj
Если я вписываю библиотеки в игнор список, то ошибки исчезают, но приложение крашится при закрытии.
Может МФС борется с ран тайм библиотекой?
Если я линкую МФС библиотеку к проекту как Shared DLL, то проблем нет. Как только линкую как Static LIB, то начинают сразу вылазить сообщения типа:
msvcprt.lib(MSVCP60.dll) : error LNK2005: "private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Tidy(bool)" (?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z) alread
y defined in AppSettings.obj
Если я вписываю библиотеки в игнор список, то ошибки исчезают, но приложение крашится при закрытии.
Может МФС борется с ран тайм библиотекой?
-
- Уже с Приветом
- Posts: 569
- Joined: 14 Dec 2003 04:06
- Location: Львов->Киев->Торонто
-
- Уже с Приветом
- Posts: 251
- Joined: 13 Oct 1999 09:01
- Location: United Kingdom
-
- Уже с Приветом
- Posts: 9392
- Joined: 18 Mar 2004 15:11
- Location: New York -> FL
-
- Уже с Приветом
- Posts: 251
- Joined: 13 Oct 1999 09:01
- Location: United Kingdom
А в настройках проекта посмотреть?
В VC++ 6.0 - меню Project\Settings кажется
на закладке C/C++->Code Generation->Runtime library,
там будет combo-box с типами RTL - single threaded static, multithreaded static, multithreaded DLL (и ихDebug варианты).
В VC++ 7.1 (.Net 2003) - меню Project\ Properties, C/C++->Code Generation->Runtime library,
RTFM
В VC++ 6.0 - меню Project\Settings кажется
на закладке C/C++->Code Generation->Runtime library,
там будет combo-box с типами RTL - single threaded static, multithreaded static, multithreaded DLL (и ихDebug варианты).
В VC++ 7.1 (.Net 2003) - меню Project\ Properties, C/C++->Code Generation->Runtime library,
RTFM
-
- Уже с Приветом
- Posts: 9392
- Joined: 18 Mar 2004 15:11
- Location: New York -> FL