關於關閉應用程序的主窗體(我調用它的很多方法等)的異常,它是好吧,但如果我只是運行exe文件它會拋出一個異常。如果我從IDE運行我的應用程序並想要關閉它,調試一個只發生在exe但不是IDE
那麼你對我提出的調試方法是什麼?正如我說的,當我從IDE運行它,它是好的,沒有發生錯誤
關於關閉應用程序的主窗體(我調用它的很多方法等)的異常,它是好吧,但如果我只是運行exe文件它會拋出一個異常。如果我從IDE運行我的應用程序並想要關閉它,調試一個只發生在exe但不是IDE
那麼你對我提出的調試方法是什麼?正如我說的,當我從IDE運行它,它是好的,沒有發生錯誤
兩件事我能想到的嘗試:
我有a solution寫在C + + - CLI應該很容易移植到C#。
如果它的主要功能本身內發生的事情,你嘗試過包裝所有的代碼在:
try
{
main();
}
catch(System.Exception^ e)
{
// do something
}
道歉的C++ - 我的回答ISH-內斯 - 這是一個很長的時間,因爲我寫的任何C#;-)
找出什麼是例外,開始。你能看到異常細節嗎?它是否提供附加到調試器的選項?你能發現異常並記錄下來嗎?
謝謝,附加到過程技術工作,對不起,我不得不接受另一個更早的答案,這也提出了附加到過程技術 – Bohn 2010-07-07 21:18:25
附加調試後你得到了程序啓動。這將確保任何的副作用,如啓動目錄,託管流程和JIT的優化不能被調試程序的影響。
啓動程序。工具+附加到進程。
謝謝,附加到過程技術工作,對不起,我不得不接受另一個早期的答案,也提出了附加到過程技術 – Bohn 2010-07-07 21:15:38
今天Upvotes很難得到,我在前面。 – 2010-07-07 21:51:36
你應該能夠附加全局異常處理程序:
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
,然後創建一個函數來處理異常:
private void Application_ThreadException(object sender,System.Thread.ThreadExceptionEventArgs e) {
// Do whatever here
}
開始與一些debug命令,好醇」打印報表。這是一所古老的學校,有點笨重,但它可能會有所幫助。在您認爲問題可能發生的幾個地方運行,看看打印出來的東西是什麼樣的。 – Kaili 2010-07-07 21:04:52
如果告訴我們什麼是異常情況會有幫助。完整的堆棧跟蹤更可取。 – 2010-07-07 21:15:17