我知道還有其他一些問題,但最終的答案是不要做我將要提出的建議。所以我知道你不應該這樣做。這樣做的原因問題是,我想這樣做也無妨,我該怎麼辦呢?如何在.net中的主UI線程以外的線程上運行UI?
這是爲什麼我要打破規則...
比方說,我有一個複雜的應用程序,它是版本1,我們希望我們的客戶在發生崩潰或掛起時向我們提交錯誤。現在讓我們說我在他們點擊提交報告的主窗體頂部有一個按鈕。
現在讓我們來想象一下該應用程序掛起,因爲死鎖的...
這將是很好,如果那一小塊用戶界面和處理該按鈕可以住上比主UI線程以外的線程,這樣它沒有陷入僵局。點擊後,它將收集其他線程的所有調用堆棧並將它們提交給我們的錯誤報告服務。
現在,瞭解情況,可以在.net中完成嗎?
那麼你的問題如何防止跨線程異常,但仍然運行在不同的線程? –
我很想知道你打算如何收集託管線程堆棧。到目前爲止,我所知道的唯一解決方案就是實現自己定製的小型調試器,將其啓動,附加到您的應用並將其轉儲堆棧,然後分離,報告和死亡。 – antiduh