DispatchThreadMessageEx crashes
-
Hab so einige CWinThreads am laufen und manchmal kracht es hier:
DispatchThreadMessageEx
um genau zu sein hier:
LDispatch:Hat da irgendwer eine Ahnung was es sein könnte?
Vielen Dank im voraus.
Edit:
Ich mach' das alles ganz "anständig":
if( !::PostThreadMessage(m_ThreadArray[ti].threadID, UWM_NEW_CP, (WPARAM)cp_item, (LPARAM)0) ) { delete cp_item->c; delete cp_item->p; delete cp_item; }
Edit #2:
Es kracht nur einmal alle paar hundert oder tausend runs. Umso schwieriger zu finden.
-
Was heisst "kracht"?
Fliegt das unmittelbar folgende ASSERT()?
-
Kracht heisst "unhandled exception": Programm verabschiedet sich komplett.
Hab zwar von vorneherein so einige ASSERTs und TRACEs an Stellen eingebaut wo es evtl. krachen könnte, aber da kracht es nie.
Und wenn das Teil in die Knie geht dann nur z.B. nach ein paar Hundert oder Tausend web-requests; manchmal.
Normalerweise funktionieren auch 50000 und mehr requests fehlerfrei.
-
Welche Exception?
Welche Zeile genau?
Warum fliegt diese Exception?Lässt sich alles supi mit nem Debugger feststellen.
-
hustbaer schrieb:
Welche Exception?
Welche Zeile genau?
Warum fliegt diese Exception?Lässt sich alles supi mit nem Debugger feststellen.
Hat mir irgendeine nichtssagende Zeile der MFC angezeigt (s.o.).
Call Stack und so kannst du komplett vergessen.
Bin zwar von gestern aber nicht sowas von gestern ;).Trotzdem Danke, hb.
-
Ich hatte noch nie ne Situation mit unbrauchbarem Callstack, ausser wenn Debug-Symbole für irgendwas gefehlt haben.
Möglich ist es natürlich, wenn man sich den Stack zerschossen hat. Aber das kommt doch eher selten vor. Vor allem weil Visual Studio in den meisten Fällen spitz bekommt dass der Stack zerschossen ist, und das brav meldet.Hast du die passenden Symbol-Pfade eingetragen? Sonst hast du ja immer (*) die Zeile
[Frames below may be incorrect and/or missing, no symbols loaded for XYZ.dll]
im Callstack, und die sind dann auch oft genau das.Also mach mal folgende Symbol-Pfade:
C:\Windows\symbols\dll http://msdl.microsoft.com/download/symbols
Ggf. vorher Symbol-Cache Verzeichnis leer machen.
Und nochmal: was für ne Exception? Gibt's ja nicht dass da nur "unhandled exception" steht, und kein Exception-Code/Namen/...
*: Immer wenn es sich um Callbacks aus ner System-DLL handelt meine ich, und das wird hier wohl der Fall sein.
-
Erstmal vielen Dank dafür, daß du dich überhaupt damit befasst hast.
Bin im Moment ziemlich beschäftigt und muß auch zugeben, daß ich die Fehlermeldung gleich weggedrückt und den VS-Debugger gestartet habe.
Da war ich eventuell nicht mehr 154% nüchtern.
Frohe Weihnachten und ein gutes neues Jahr für euch Alle.
-
EOP schrieb:
Erstmal vielen Dank dafür, daß du dich überhaupt damit befasst hast.
Gerne.
Bin im Moment ziemlich beschäftigt [...]
Lass uns wissen wenn du es dir nochmal angesehen hast.