我嘗試在這里詢問是否有人遇到過這樣的問題。
有時,我會遇到一種情況:我在 Windows 上啟動我的 Qt 應用程式(在除錯模式下,但我不確定它是否重要)cmd.exe,然后我使用它,然后我停止使用它一段時間。然后我將其恢復為專注,并且很少遇到這種情況:Not Responding即使我沒有任何邏輯讓它對恢復為專注做出反應,該應用程式也是如此。然后我等待并等待并注意發生,然后我按我的任何鍵cmd.exe,而不是被殺死,我的應用程式突然喚醒并繼續作業,然后我不再遇到任何問題。
可能是什么問題?在 Linux 上我沒有遇到這樣的問題。我問是因為我無法追蹤問題,因為它不經常發生。另外,我對Windows不太熟悉。如果是 Linux,我會使用gdp -p并嘗試查看應用程式掛起的位置。但是我可以在 Windows 上做什么?關于如何抓住這個的任何建議?
更新:我可以按我的任何鍵cmd.exe來解凍程式。
更新:
看起來它凍結在我的除錯列印檔案之一上:
STACK_TEXT:
: ntdll!NtWriteFile 0x14
: KERNELBASE!WriteFile 0x76
!write_text_ansi_nolock 0x183
!_write_nolock 0x451
!_write_internal 0x377
!__acrt_stdio_flush_nolock 0xc4
!__acrt_stdio_end_temporary_buffering_nolock 0x54
!__acrt_stdio_temporary_buffering_guard::~__acrt_stdio_temporary_buffering_guard 0x28
!<lambda_303760bc4008a2b3ec4768a30b06a80c>::operator() 0x104
!__crt_seh_guarded_call<int>::operator()<<lambda_d854c62834386a3b23916ad6dae2782d>,<lambda_303760bc4008a2b3ec4768a30b06a80c> &,<lambda_4780a7ea4f8cbd2590aec34bd14e2bbf> > 0x35
!__acrt_lock_stream_and_call<<lambda_303760bc4008a2b3ec4768a30b06a80c> > 0x58
!common_vfprintf<__crt_stdio_output::standard_base,char> 0x21a
!__stdio_common_vfprintf 0x5c
!_vfprintf_l 0x3f
!printf 0x58
! MyClass::myfunc -- that executes my handler of the button pressed (which freezes)
為什么會這樣?我的意思是這只是一個 printf 寫入 cmd。
uj5u.com熱心網友回復:
這是我的問題的答案:
https://stackoverflow.com/a/33883532/4781940
當凍結發生時,我真的有這個Select Command Prompt頭銜。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/465416.html
