Il mio programma Qt (g ++ 4.4.0) mi restituisce l'errore Libreria di runtime Microsoft Visual C++ "Questa applicazione ha richiesto al runtime di interromperlo in un modo insolito" quando lo chiudo. Ma quando lo eseguo nel debugger, non ricevo il messaggio di errore. Qualcuno sa come ottenere informazioni sul crash? La finestra di messaggio ha solo un pulsante OK."Questa applicazione ha richiesto al runtime di terminarlo in un modo insolito."
Modificato per aggiungere: In seguito al consiglio di Wimmel, l'ho collegato al debugger. Ci sono due fili rimasti in vita, con ThreadID 1 e 3. Gli stack simile a questa:
Level Function File Line Address
0 VTagOutput C:\Windows\syswow64\user32.dll 0 0x7529438d
1 VTagOutput C:\Windows\syswow64\user32.dll 0 0x7529438d
2 USER32!EmptyClipboard C:\Windows\syswow64\user32.dll 0 0x752a2674
3 ?? 0
Level Function File Line Address
0 ntdll!LdrFindResource_U C:\Windows\SysWOW64\ntdll.dll 0 0x76f5000d
1 ntdll!LdrSetAppCompatDllRedirectionCallback C:\Windows\SysWOW64\ntdll.dll 0 0x76fdfabe
2 ?? 0 0x7b9609b5
3 ?? 0
Forse il secondo thread è la visualizzazione del messaggio di errore? Il primo è un po 'strano: le prime due righe sono identiche. Non ho nulla nel mio codice che contenga il nome TagOutput
, e nemmeno Qt per quanto ne so.
Forse si può connettere il debugger prima di fare clic su OK, e guardare lo stack frame di tutte le discussioni per vedere dove l'errore proviene. – wimh
Tutti i simboli visualizzati provengono dalle DLL di sistema. Hai incluso informazioni di debug nella tua build? –
@lan: sì. Sospetto che il programma sia già andato, e questo è solo il meccanismo di segnalazione degli errori del sistema. – TonyK